X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=Navigation.py;h=e8b44a35087c85d129da6002ef80df5aeae98847;hp=7b1deb030d049b6ed9dad5223f4c6149611c5d45;hb=e52de875e255153a9d15656d459fc784614fe4a6;hpb=67b53c1cb06988394c35a6e965c99b72b67fe1be diff --git a/Navigation.py b/Navigation.py index 7b1deb0..e8b44a3 100644 --- a/Navigation.py +++ b/Navigation.py @@ -1,9 +1,11 @@ -from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference +from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference, iPlayableService from Components.ParentalControl import parentalControl from Tools.BoundFunction import boundFunction +from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime, getFPWasTimerWakeup, clearFPWasTimerWakeup +from time import time import RecordTimer import SleepTimer - +import Screens.Standby import NavigationInstance import ServiceReference @@ -27,11 +29,21 @@ class Navigation: self.currentlyPlayingServiceReference = None self.currentlyPlayingService = None self.RecordTimer = RecordTimer.RecordTimer() + if getFPWasTimerWakeup(): + clearFPWasTimerWakeup() + if getFPWasTimerWakeup(): # sanity check to detect if the FP driver is working correct! + print "buggy fp driver detected!!! please update drivers.... ignore timer wakeup!" + elif len(self.getRecordings()) or abs(self.RecordTimer.getNextRecordingTime() - time()) <= 360: + if not Screens.Standby.inTryQuitMainloop: # not a shutdown messagebox is open + RecordTimer.RecordTimerEntry.TryQuitMainloop(0) # start shutdown handling self.SleepTimer = SleepTimer.SleepTimer() def dispatchEvent(self, i): for x in self.event: x(i) + if i == iPlayableService.evEnd: + self.currentlyPlayingServiceReference = None + self.currentlyPlayingService = None def dispatchRecordEvent(self, rec_service, event): # print "record_event", rec_service, event @@ -44,8 +56,6 @@ class Navigation: print "ignore request to play already running service" return 0 print "playing", ref and ref.toString() - self.currentlyPlayingServiceReference = None - self.currentlyPlayingService = None if ref is None: self.stopService() return 0 @@ -98,19 +108,10 @@ class Navigation: print "stopService" if self.pnav: self.pnav.stopService() - self.currentlyPlayingService = None - self.currentlyPlayingServiceReference = None def pause(self, p): return self.pnav and self.pnav.pause(p) - def recordWithTimer(self, ref, begin, end, name, description, eit): - if isinstance(ref, eServiceReference): - ref = ServiceReference.ServiceReference(ref) - entry = RecordTimer.RecordTimerEntry(ref, begin, end, name, description, eit) - self.RecordTimer.record(entry) - return entry - def shutdown(self): self.RecordTimer.shutdown() self.ServiceHandler = None