PowerTimer.py 文件源码

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

项目:enigma2 作者: OpenLD 项目源码 文件源码
def createTimer(xml):
    timertype = str(xml.get("timertype") or "wakeup")
    timertype = {
        "nothing": TIMERTYPE.NONE,
        "wakeup": TIMERTYPE.WAKEUP,
        "wakeuptostandby": TIMERTYPE.WAKEUPTOSTANDBY,
        "autostandby": TIMERTYPE.AUTOSTANDBY,
        "autodeepstandby": TIMERTYPE.AUTODEEPSTANDBY,
        "standby": TIMERTYPE.STANDBY,
        "deepstandby": TIMERTYPE.DEEPSTANDBY,
        "reboot": TIMERTYPE.REBOOT,
        "restart": TIMERTYPE.RESTART
        }[timertype]
    begin = int(xml.get("begin"))
    end = int(xml.get("end"))
    repeated = xml.get("repeated").encode("utf-8")
    disabled = long(xml.get("disabled") or "0")
    afterevent = str(xml.get("afterevent") or "nothing")
    afterevent = {
        "nothing": AFTEREVENT.NONE,
        "wakeup": AFTEREVENT.WAKEUP,
        "wakeuptostandby": AFTEREVENT.WAKEUPTOSTANDBY,
        "standby": AFTEREVENT.STANDBY,
        "deepstandby": AFTEREVENT.DEEPSTANDBY
        }[afterevent]
    autosleepinstandbyonly = str(xml.get("autosleepinstandbyonly") or "no")
    autosleepdelay = str(xml.get("autosleepdelay") or "0")
    autosleeprepeat = str(xml.get("autosleeprepeat") or "once")
    autosleepwindow = str(xml.get("autosleepwindow") or "no")
    autosleepbegin = int(xml.get("autosleepbegin") or begin)
    autosleepend = int(xml.get("autosleepend") or end)

    nettraffic = str(xml.get("nettraffic") or "no")
    trafficlimit = int(xml.get("trafficlimit") or 100)
    netip = str(xml.get("netip") or "no")
    ipadress = str(xml.get("ipadress") or "0.0.0.0")

    entry = PowerTimerEntry(begin, end, disabled, afterevent, timertype)
    entry.repeated = int(repeated)
    entry.autosleepinstandbyonly = autosleepinstandbyonly
    entry.autosleepdelay = int(autosleepdelay)
    entry.autosleeprepeat = autosleeprepeat
    entry.autosleepwindow = autosleepwindow
    entry.autosleepbegin = autosleepbegin
    entry.autosleepend = autosleepend

    entry.nettraffic = nettraffic
    entry.trafficlimit = trafficlimit
    entry.netip = netip
    entry.ipadress = ipadress

    for l in xml.findall("log"):
        ltime = int(l.get("time"))
        code = int(l.get("code"))
        msg = l.text.strip().encode("utf-8")
        entry.log_entries.append((ltime, code, msg))

    return entry
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号