Ejemplo n.º 1
0
    def recEvent(self, timer):
        # StateWaiting=0, StatePrepared=1, StateRunning=2, StateEnded=3
        try:
            if timer.justplay: return
            inform = False
            try:
                timer.Filename
            except:
                timer.calculateFilename()

            filename = os.path.basename(timer.Filename)
            if timer.state == timer.StatePrepared: pass
            elif timer.state == timer.StateRunning:  # timer.isRunning()
                if config.EMC.files_cache.value:
                    cutfilename = "/" + filename
                    realpath = timer.Filename.replace(cutfilename, '')
                    ext = ".ts"
                    recname = timer.Filename + ext, filename + ext, ext
                    from EMCFileCache import movieFileCache
                    if movieFileCache.IsPathInCache(realpath):
                        movieFileCache.addRecToCacheFileList(realpath, recname)
                if not filename in self.recDict:
                    begin = timer.begin
                    if timer.autoincrease:
                        end = begin
                    else:
                        end = timer.end
                    self.recDict[filename] = (begin,
                                              end, timer.service_ref.ref,
                                              str(timer))
                    inform = True
                    emcDebugOut("[emcRC] REC START for: " + filename)
            else:  #timer.state == timer.StateEnded:
                if filename in self.recDict:
                    del self.recDict[filename]
                    inform = True
                    emcDebugOut("[emcRC] REC END for: " + filename)
                    try:
                        if hasattr(timer, "fixMoveCmd"):
                            emcTasker.shellExecute(timer.fixMoveCmd)
                            emcDebugOut(
                                "[emcRC] File had been moved while recording was in progress, moving left over files.."
                            )
                    except:
                        pass
                if config.EMC.timer_autocln.value:
                    DelayedFunction(
                        2000, self.timerCleanup
                    )  # postpone to avoid crash in basic timer delete by user
            if inform:
                if config.EMC.remote_recordings.value:
                    self.recFileUpdate()
                self.recStateChange(timer)
        except Exception, e:
            emcDebugOut("[emcRC] recEvent exception:\n" + str(e))
	def recEvent(self, timer):
		# StateWaiting=0, StatePrepared=1, StateRunning=2, StateEnded=3
		try:
			if timer.justplay: return
			inform = False
			try: timer.Filename
			except: timer.calculateFilename()

			filename = os.path.basename(timer.Filename)
			if timer.state == timer.StatePrepared:	pass
			elif timer.state == timer.StateRunning:	# timer.isRunning()
				if config.EMC.files_cache.value:
					cutfilename = "/" + filename
					realpath = timer.Filename.replace(cutfilename, '')
					ext = ".ts"
					recname = timer.Filename + ext, filename + ext, ext
					from EMCFileCache import movieFileCache
					if movieFileCache.IsPathInCache(realpath):
						movieFileCache.addRecToCacheFileList(realpath, recname)
				if not filename in self.recDict:
					begin = timer.begin
					if timer.autoincrease:
						end = begin
					else:
						end = timer.end
					self.recDict[filename] = (begin, end, timer.service_ref.ref, str(timer))
					inform = True
					emcDebugOut("[emcRC] REC START for: " + filename)
			else: #timer.state == timer.StateEnded:
				if filename in self.recDict:
					del self.recDict[filename]
					inform = True
					emcDebugOut("[emcRC] REC END for: " + filename)
					try:
						if hasattr(timer, "fixMoveCmd"):
							emcTasker.shellExecute(timer.fixMoveCmd)
							emcDebugOut("[emcRC] File had been moved while recording was in progress, moving left over files..")
					except: pass
				if config.EMC.timer_autocln.value:
					DelayedFunction(2000, self.timerCleanup)	# postpone to avoid crash in basic timer delete by user
			if inform:
				if config.EMC.remote_recordings.value:
					self.recFileUpdate()
				self.recStateChange(timer)
		except Exception, e:
			emcDebugOut("[emcRC] recEvent exception:\n" + str(e))