X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3c5de611fbae9f98ef2613187a96bd8e048cea47..b5d77f1a7b719fccfa19561a5a07ea8de51f42a4:/RecordTimer.py diff --git a/RecordTimer.py b/RecordTimer.py old mode 100644 new mode 100755 index 2606a312..4ece9c58 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -2,6 +2,7 @@ from enigma import eEPGCache, getBestPlayableServiceReference, \ eServiceReference, iRecordableService, quitMainloop from Components.config import config +from Components.UsageConfig import defaultMoviePath from Components.TimerSanityCheck import TimerSanityCheck from Screens.MessageBox import MessageBox @@ -101,7 +102,10 @@ class RecordTimerEntry(timer.TimerEntry, object): assert isinstance(serviceref, ServiceReference) - self.service_ref = serviceref + if serviceref.isRecordable(): + self.service_ref = serviceref + else: + self.service_ref = ServiceReference(None) self.eit = eit self.dontSave = False self.name = name @@ -128,6 +132,7 @@ class RecordTimerEntry(timer.TimerEntry, object): def calculateFilename(self): service_name = self.service_ref.getServiceName() begin_date = strftime("%Y%m%d %H%M", localtime(self.begin)) + begin_shortdate = strftime("%Y%m%d", localtime(self.begin)) print "begin_date: ", begin_date print "service_name: ", service_name @@ -136,16 +141,26 @@ class RecordTimerEntry(timer.TimerEntry, object): filename = begin_date + " - " + service_name if self.name: - filename += " - " + self.name + if config.usage.setup_level.index >= 2: # expert+ + if config.recording.filename_composition.value == "short": + filename = begin_shortdate + " - " + self.name + elif config.recording.filename_composition.value == "long": + filename += " - " + self.name + " - " + self.description + else: + filename += " - " + self.name # standard + else: + filename += " - " + self.name if config.recording.ascii_filenames.value: filename = ASCIItranslit.legacyEncode(filename) - if self.dirname and not Directories.fileExists(self.dirname, 'w'): - self.dirnameHadToFallback = True - self.Filename = Directories.getRecordingFilename(filename, None) + if not self.dirname or not Directories.fileExists(self.dirname, 'w'): + if self.dirname: + self.dirnameHadToFallback = True + dirname = defaultMoviePath() else: - self.Filename = Directories.getRecordingFilename(filename, self.dirname) + dirname = self.dirname + self.Filename = Directories.getRecordingFilename(filename, dirname) self.log(0, "Filename calculated as: '%s'" % self.Filename) #begin_date + " - " + service_name + description) @@ -218,7 +233,8 @@ class RecordTimerEntry(timer.TimerEntry, object): # because another recording at the same time on another service can try to record the same event # i.e. cable / sat.. then the second recording needs an own extension... when we create the file # here than calculateFilename is happy - open(self.Filename + ".ts", "w").close() + if not self.justplay: + open(self.Filename + ".ts", "w").close() # fine. it worked, resources are allocated. self.next_activation = self.begin self.backoff = 0 @@ -689,7 +705,7 @@ class RecordTimer(timer.Timer): chktimecmp_end = chktimecmp + (duration / 60) time = localtime(x.begin) for y in (0, 1, 2, 3, 4, 5, 6): - if x.repeated & (2 ** y) and (x.begin <= begin or begin <= x.begin <= end): + if x.repeated & (1 << y) and (x.begin <= begin or begin <= x.begin <= end): timecmp = y * 1440 + time.tm_hour * 60 + time.tm_min if timecmp <= chktimecmp < (timecmp + ((x.end - x.begin) / 60)): time_match = ((timecmp + ((x.end - x.begin) / 60)) - chktimecmp) * 60