PowerTimer.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:enigma2 作者: BlackHole 项目源码 文件源码
def doActivate(self, w):
        # when activating a timer which has already passed,
        # simply abort the timer. don't run trough all the stages.
        if w.shouldSkip():
            w.state = PowerTimerEntry.StateEnded
        else:
            # when active returns true, this means "accepted".
            # otherwise, the current state is kept.
            # the timer entry itself will fix up the delay then.
            if w.activate():
                w.state += 1

        try:
            self.timer_list.remove(w)
        except:
            print '[PowerManager]: Remove list failed'

        # did this timer reached the last state?
        if w.state < PowerTimerEntry.StateEnded:
            # no, sort it into active list
            insort(self.timer_list, w)
        else:
            # yes. Process repeated, and re-add.
            if w.repeated:
                # If we have saved original begin/end times for a backed off timer
                # restore those values now
                if hasattr(w, "real_begin"):
                    w.begin = w.real_begin
                    w.end = w.real_end
                    # Now remove the temporary holding attributes...
                    del w.real_begin
                    del w.real_end
                w.processRepeated()
                w.state = PowerTimerEntry.StateWaiting
                self.addTimerEntry(w)
            else:
                # Remove old timers as set in config
                self.cleanupDaily(config.recording.keep_timers.value)
                insort(self.processed_timers, w)
        self.stateChanged(w)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号