X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a4b8eb676ba549ebe8cf347f15888e51d8914789..5960b0d3e89264496a44e21f84da1e057905df53:/RecordTimer.py diff --git a/RecordTimer.py b/RecordTimer.py index f8e0dbd7..1f65038c 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -1,6 +1,6 @@ import time #from time import datetime -from Tools import Directories, Notifications +from Tools import Directories, Notifications, ASCIItranslit from Components.config import config import timer @@ -63,7 +63,7 @@ class RecordTimerEntry(timer.TimerEntry, object): if event == iRecordableService.evEnd: print "RecordTimer.staticGotRecordEvent(iRecordableService.evEnd)" recordings = NavigationInstance.instance.getRecordings() - if not len(recordings): # no more recordings exist + if not recordings: # no more recordings exist rec_time = NavigationInstance.instance.RecordTimer.getNextRecordingTime() if rec_time > 0 and (rec_time - time.time()) < 360: print "another recording starts in", rec_time - time.time(), "seconds... do not shutdown yet" @@ -141,6 +141,9 @@ class RecordTimerEntry(timer.TimerEntry, object): if self.name: 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) @@ -181,24 +184,12 @@ class RecordTimerEntry(timer.TimerEntry, object): if event_id is None: event_id = -1 - prep_res=self.record_service.prepare(self.Filename + ".ts", self.begin, self.end, event_id) + prep_res=self.record_service.prepare(self.Filename + ".ts", self.begin, self.end, event_id, self.name.replace("\n", ""), self.description.replace("\n", ""), ' '.join(self.tags)) if prep_res: - self.log(2, "'prepare' failed: error %d" % prep_res) - NavigationInstance.instance.stopRecordService(self.record_service) - self.record_service = None - return False - - self.log(3, "prepare ok, writing meta information to %s" % self.Filename) - try: - f = open(self.Filename + ".ts.meta", "w") - f.write(rec_ref.toString() + "\n") - f.write(self.name + "\n") - f.write(self.description + "\n") - f.write(str(self.begin) + "\n") - f.write(' '.join(self.tags)) - f.close() - except IOError: - self.log(4, "failed to write meta information") + if prep_res == 255: + self.log(4, "failed to write meta information") + else: + self.log(2, "'prepare' failed: error %d" % prep_res) NavigationInstance.instance.stopRecordService(self.record_service) self.record_service = None return False @@ -365,8 +356,8 @@ class RecordTimerEntry(timer.TimerEntry, object): if self.dirnameHadToFallback: text = '\n'.join((text, _("Please note that the previously selected media could not be accessed and therefore the default directory is being used instead."))) - # maybe this should be configurable? - Notifications.AddPopup(text = text, type = MessageBox.TYPE_INFO, timeout = 3) + if config.usage.show_message_when_recording_starts.value: + Notifications.AddPopup(text = text, type = MessageBox.TYPE_INFO, timeout = 3) # we have record_service as property to automatically subscribe to record service events def setRecordService(self, service): @@ -658,7 +649,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): + if x.repeated & (2 ** 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