X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d630d7d7715a6fbc97c1d322ceb2bc0452ab0740..c563ffd07163d5982fa4a3d8e9c2486f480b899a:/Navigation.py diff --git a/Navigation.py b/Navigation.py index 715e886b..a905da19 100644 --- a/Navigation.py +++ b/Navigation.py @@ -50,10 +50,10 @@ class Navigation: for x in self.record_event: x(rec_service, event) - def playService(self, ref, checkParentalControl = True): + def playService(self, ref, checkParentalControl = True, forceRestart = False): oldref = self.currentlyPlayingServiceReference - if ref and oldref and ref == oldref: - print "ignore request to play already running service" + if ref and oldref and ref == oldref and not forceRestart: + print "ignore request to play already running service(1)" return 0 print "playing", ref and ref.toString() if ref is None: @@ -64,6 +64,10 @@ class Navigation: if not oldref: oldref = eServiceReference() playref = getBestPlayableServiceReference(ref, oldref) + print "playref", playref + if playref and oldref and playref == oldref and not forceRestart: + print "ignore request to play already running service(2)" + return 0 if not playref or (checkParentalControl and not parentalControl.isServicePlayable(playref, boundFunction(self.playService, checkParentalControl = False))): self.stopService() return 0 @@ -87,7 +91,7 @@ class Navigation: if ref: if ref.flags & eServiceReference.isGroup: ref = getBestPlayableServiceReference(ref, eServiceReference(), simulate) - service = ref and self.pnav and self.pnav.recordService(ref) + service = ref and self.pnav and self.pnav.recordService(ref, simulate) if service is None: print "record returned non-zero" return service @@ -96,8 +100,8 @@ class Navigation: ret = self.pnav and self.pnav.stopRecordService(service) return ret - def getRecordings(self): - return self.pnav and self.pnav.getRecordings() + def getRecordings(self, simulate=False): + return self.pnav and self.pnav.getRecordings(simulate) def getCurrentService(self): if not self.currentlyPlayingService: