do not play running service again
[vuplus_dvbapp] / Navigation.py
index c2d2752..0262a46 100644 (file)
@@ -1,4 +1,4 @@
-from enigma import eServiceCenter, eServiceReference, pNavigation
+from enigma import eServiceCenter, eServiceReference, pNavigation, getBestPlayableServiceReference
 from Components.ParentalControl import parentalControl
 from Tools.BoundFunction import boundFunction
 import RecordTimer
@@ -28,12 +28,10 @@ class Navigation:
                self.record_event = [ ]
                self.currentlyPlayingServiceReference = None
                self.currentlyPlayingService = None
-               self.state = 0
                self.RecordTimer = RecordTimer.RecordTimer()
                self.SleepTimer = SleepTimer.SleepTimer()
 
        def dispatchEvent(self, i):
-               self.state = i != 1
                for x in self.event:
                        x(i)
 
@@ -44,6 +42,9 @@ class Navigation:
 
        def playService(self, ref, checkParentalControl = True):
                oldref = self.currentlyPlayingServiceReference
+               if ref and oldref and ref == oldref:
+                       print "ignore request to play already running service"
+                       return 0
                print "playing", ref and ref.toString()
                self.currentlyPlayingServiceReference = None
                self.currentlyPlayingService = None
@@ -91,11 +92,9 @@ class Navigation:
                return self.pnav and self.pnav.getRecordings()
 
        def getCurrentService(self):
-               if self.state:
-                       if not self.currentlyPlayingService:
-                               self.currentlyPlayingService = self.pnav and self.pnav.getCurrentService()
-                       return self.currentlyPlayingService
-               return None
+               if not self.currentlyPlayingService:
+                       self.currentlyPlayingService = self.pnav and self.pnav.getCurrentService()
+               return self.currentlyPlayingService
 
        def stopService(self):
                print "stopService"