Beispiel #1
0
    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
        print "name:", self.name
        print "description: ", self.description

        filename = begin_date + " - " + service_name
        if 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 not self.dirname or not Directories.fileExists(self.dirname, 'w'):
            if self.dirname:
                self.dirnameHadToFallback = True
            dirname = defaultMoviePath()
        else:
            dirname = self.dirname
        self.Filename = Directories.getRecordingFilename(filename, dirname)
        self.log(0, "Filename calculated as: '%s'" % self.Filename)
Beispiel #2
0
	def loadTimer(self):
		# TODO: PATH!
		if not Directories.fileExists(self.Filename):
			return
		try:
			doc = xml.etree.cElementTree.parse(self.Filename)
		except SyntaxError:
			from Tools.Notifications import AddPopup
			from Screens.MessageBox import MessageBox

			AddPopup(_("The timer file (timers.xml) is corrupt and could not be loaded."), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")

			print "timers.xml failed to load!"
			try:
				import os
				os.rename(self.Filename, self.Filename + "_old")
			except (IOError, OSError):
				print "renaming broken timer failed"
			return
		except IOError:
			print "timers.xml not found!"
			return

		root = doc.getroot()

		# put out a message when at least one timer overlaps
		checkit = True
		for timer in root.findall("timer"):
			newTimer = createTimer(timer)
			if (self.record(newTimer, True, dosave=False) is not None) and (checkit == True):
				from Tools.Notifications import AddPopup
				from Screens.MessageBox import MessageBox
				AddPopup(_("Timer overlap in timers.xml detected!\nPlease recheck it!"), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")
				checkit = False # at moment it is enough when the message is displayed one time
Beispiel #3
0
	def loadTimer(self):
		# TODO: PATH!
		if not Directories.fileExists(self.Filename):
			return
		try:
			file = open(self.Filename, 'r')
			doc = xml.etree.cElementTree.parse(file)
			file.close()
		except SyntaxError:
			from Tools.Notifications import AddPopup
			from Screens.MessageBox import MessageBox

			AddPopup(_("The timer file (timers.xml) is corrupt and could not be loaded."), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")

			print "[RecordTimer] timers.xml failed to load!"
			try:
				os.rename(self.Filename, self.Filename + "_old")
			except (IOError, OSError):
				print "[RecordTimer] renaming broken timer failed"
			return
		except IOError:
			print "[RecordTimer] timers.xml not found!"
			return

		root = doc.getroot()

		# put out a message when at least one timer overlaps
		checkit = True
		for timer in root.findall("timer"):
			newTimer = createTimer(timer)
			if (self.record(newTimer, True, dosave=False) is not None) and (checkit == True):
				from Tools.Notifications import AddPopup
				from Screens.MessageBox import MessageBox
				AddPopup(_("Timer overlap in timers.xml detected!\nPlease recheck it!"), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")
				checkit = False # at moment it is enough when the message is displayed one time
Beispiel #4
0
	def calculateFilename(self, record_service=None):
		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)
		print("name:", self.name)
		print("description: ", self.description)
		
		filename = begin_date + " - " + service_name
		if 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 not self.dirname or not Directories.fileExists(self.dirname, 'w'):
			if self.dirname:
				self.dirnameHadToFallback = True
			dirname = defaultMoviePath()
			self.log(0, "Directory '%s' doesn't seem to exist or isn't writable. Falling back to default movie path '%s'." % (self.dirname, dirname))
		else:
			dirname = self.dirname
		self.Filename = Directories.getRecordingFilename(filename, dirname) + (".ts" if record_service is None else record_service.getFileExtension())

		self.log(0, "Filename calculated as: '%s'" % self.Filename)
Beispiel #5
0
	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
		print "name:", self.name
		print "description: ", self.description
		
		filename = begin_date + " - " + service_name
		if 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 not self.dirname or not Directories.fileExists(self.dirname, 'w'):
			if self.dirname:
				self.dirnameHadToFallback = True
			dirname = defaultMoviePath()
		else:
			dirname = self.dirname
		self.Filename = Directories.getRecordingFilename(filename, dirname)
		self.log(0, "Filename calculated as: '%s'" % self.Filename)
    def loadTimer(self):
        if not Directories.fileExists(self.Filename):
            return
        try:
            file = open(self.Filename, 'r')
            doc = xml.etree.cElementTree.parse(file)
            file.close()
        except SyntaxError:
            from Tools.Notifications import AddPopup

            AddPopup(_(
                "The timer file (pm_timers.xml) is corrupt and could not be loaded."
            ),
                     type=MessageBox.TYPE_ERROR,
                     timeout=0,
                     id="TimerLoadFailed")

            print("[PowerTimer] pm_timers.xml failed to load!")
            try:
                os.rename(self.Filename, self.Filename + "_old")
            except (IOError, OSError):
                print("[PowerTimer] renaming broken timer failed")
            return
        except IOError:
            print("[PowerTimer] pm_timers.xml not found!")
            return

        root = doc.getroot()

        checkit = True
        for timer in root.findall("timer"):
            newTimer = createTimer(timer)
            if (self.record(newTimer, True, dosave=False)
                    is not None) and (checkit == True):
                from Tools.Notifications import AddPopup
                AddPopup(_(
                    "Timer overlap in pm_timers.xml detected!\nPlease recheck it!"
                ),
                         type=MessageBox.TYPE_ERROR,
                         timeout=0,
                         id="TimerLoadFailed")
                checkit = False
Beispiel #7
0
    def calculateFilename(self):
        service_name = self.service_ref.getServiceName()
        begin_date = time.strftime("%Y%m%d %H%M", time.localtime(self.begin))

        print "begin_date: ", begin_date
        print "service_name: ", service_name
        print "name:", self.name
        print "description: ", self.description

        filename = begin_date + " - " + service_name
        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)
        else:
            self.Filename = Directories.getRecordingFilename(filename, self.dirname)
        self.log(0, "Filename calculated as: '%s'" % self.Filename)
Beispiel #8
0
    def calculateFilename(self):
        service_name = self.service_ref.getServiceName()
        begin_date = time.strftime("%Y%m%d %H%M", time.localtime(self.begin))

        print "begin_date: ", begin_date
        print "service_name: ", service_name
        print "name:", self.name
        print "description: ", self.description

        filename = begin_date + " - " + service_name
        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)
        else:
            self.Filename = Directories.getRecordingFilename(
                filename, self.dirname)
        self.log(0, "Filename calculated as: '%s'" % self.Filename)
Beispiel #9
0
	def loadTimer(self):
		if not Directories.fileExists(self.Filename):
			return
		try:
			doc = xml.etree.cElementTree.parse(self.Filename)
		except SyntaxError:
			from Tools.Notifications import AddPopup
			from Screens.MessageBox import MessageBox

			AddPopup(_("The timer file (timers.xml) is corrupt and could not be loaded."), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")

			print "timers.xml failed to load!"
			try:
				import os
				os.rename(self.Filename, self.Filename + "_old")
			except (IOError, OSError):
				print "renaming broken timer failed"
			return
		except IOError:
			print "timers.xml not found!"
			return

		root = doc.getroot()

		checkit = False
		timer_text = ""
		for timer in root.findall("timer"):
			newTimer = createTimer(timer)
			conflict_list = self.record(newTimer, ignoreTSC=True, dosave=False, loadtimer=True)
			if conflict_list:
				checkit = True
				if newTimer in conflict_list:
					timer_text += _("\nTimer '%s' disabled!") % newTimer.name
		if checkit:
			from Tools.Notifications import AddPopup
			from Screens.MessageBox import MessageBox
			AddPopup(_("Timer overlap in timers.xml detected!\nPlease recheck it!") + timer_text, type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")
Beispiel #10
0
	def loadTimer(self):
		if not Directories.fileExists(self.Filename):
			return
		try:
			doc = xml.etree.cElementTree.parse(self.Filename)
		except SyntaxError:
			from Tools.Notifications import AddPopup
			from Screens.MessageBox import MessageBox

			AddPopup(_("The timer file (timers.xml) is corrupt and could not be loaded."), type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")

			print "timers.xml failed to load!"
			try:
				import os
				os.rename(self.Filename, self.Filename + "_old")
			except (IOError, OSError):
				print "renaming broken timer failed"
			return
		except IOError:
			print "timers.xml not found!"
			return

		root = doc.getroot()

		checkit = False
		timer_text = ""
		for timer in root.findall("timer"):
			newTimer = createTimer(timer)
			conflict_list = self.record(newTimer, ignoreTSC=True, dosave=False, loadtimer=True)
			if conflict_list:
				checkit = True
				if newTimer in conflict_list:
					timer_text += _("\nTimer '%s' disabled!") % newTimer.name
		if checkit:
			from Tools.Notifications import AddPopup
			from Screens.MessageBox import MessageBox
			AddPopup(_("Timer overlap in timers.xml detected!\nPlease recheck it!") + timer_text, type = MessageBox.TYPE_ERROR, timeout = 0, id = "TimerLoadFailed")