X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8a951b87cc4f6d4db0f1c3c9113a4c0943971ef2..a36d71485cec16ba09beb5c267a4467d0f10bb1f:/Navigation.py?ds=sidebyside diff --git a/Navigation.py b/Navigation.py index 06d47ac4..cde4ca4c 100644 --- a/Navigation.py +++ b/Navigation.py @@ -42,24 +42,27 @@ 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 if ref is None: self.stopService() return 0 - if not checkParentalControl or parentalControl.isServicePlayable(ref.toCompareString(), boundFunction(self.playService, checkParentalControl = False)): + if not checkParentalControl or parentalControl.isServicePlayable(ref, boundFunction(self.playService, checkParentalControl = False)): if ref.flags & eServiceReference.isGroup: if not oldref: oldref = eServiceReference() playref = getBestPlayableServiceReference(ref, oldref) - if not playref or (checkParentalControl and not parentalControl.isServicePlayable(playref.toCompareString(), boundFunction(self.playService, checkParentalControl = False))): + if not playref or (checkParentalControl and not parentalControl.isServicePlayable(playref, boundFunction(self.playService, checkParentalControl = False))): self.stopService() return 0 else: playref = ref if self.pnav and not self.pnav.playService(playref): - self.currentlyPlayingServiceReference = ref + self.currentlyPlayingServiceReference = playref return 0 else: self.stopService()