X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6eeefece35e4269e02fdb7abab4f79d8e7b8f98b..a7bff7d6aa8d565663e4b7ae6cd97ff27959b0ee:/Navigation.py diff --git a/Navigation.py b/Navigation.py index 7b615bbd..7c1cdd42 100644 --- a/Navigation.py +++ b/Navigation.py @@ -1,5 +1,8 @@ from enigma import * +from Components.ParentalControl import parentalControl +from Tools.BoundFunction import boundFunction import RecordTimer +import SleepTimer import NavigationInstance import ServiceReference @@ -14,7 +17,7 @@ class Navigation: NavigationInstance.instance = self self.ServiceHandler = eServiceCenter.getInstance() - + import Navigation as Nav Nav.navcore = self @@ -25,13 +28,14 @@ class Navigation: self.currentlyPlayingService = None self.state = 0 self.RecordTimer = RecordTimer.RecordTimer() - + self.SleepTimer = SleepTimer.SleepTimer() + def callEvent(self, i): self.state = i != 1 for x in self.event: x(i) - def playService(self, ref): + def playService(self, ref, checkParentalControl = True): print "playing", ref and ref.toString() self.currentlyPlayingServiceReference = None self.currentlyPlayingService = None @@ -39,9 +43,12 @@ class Navigation: self.stopService() return 0 - if self.pnav and not self.pnav.playService(ref): - self.currentlyPlayingServiceReference = ref - return 0 + if not checkParentalControl or parentalControl.isServicePlayable(ref.toCompareString(), boundFunction(self.playService, checkParentalControl = False)): + if self.pnav and not self.pnav.playService(ref): + self.currentlyPlayingServiceReference = ref + return 0 + else: + self.stopService() return 1 def getCurrentlyPlayingServiceReference(self):