def idAnalogIn65(elem,hilo,valmap,trgnam): # <CT id="0" Name="Temp-1"> # <TrgL Val="-800" B1="192" B2="0" B3="0" B4="0" /> # <TrgH Val="1600" B1="192" B2="0" B3="0" B4="0" /> # </CT> # # (also <CI> elements) return getParams(elem,["id"],curry(idAnalogThreshold65,hilo,valmap,trgnam))
def idSchedule65(elem): # <CE id="5" Days="5" Hrs="23" Mins="59" > # <Trg B1="192" B2="0" B3="0" B4="0" /> # </CE> attrmap = [("id",idn),("Days",curry(maskToList,"0123456")),("Hrs",idn),("Mins",idn)] return getMapParams(elem, attrmap, curry(trigger65,"Trg",None))
def matchN(matchvals,otherval): def m(matchvals,otherval,next): for (sym,eqval) in matchvals: if next==sym: return eqval return otherval return curry(m,matchvals,otherval)
def idTrigger65(elem): # <CD id = "2" Name="Pb-2" Opt="123"> # <Trg B1="69" B2="2" B3="0" B4="0" /> # </CD> opt = elem.getAttribute("Opt") return getParams(elem,["id"],curry(trigger65,"Trg",opt))
def match1(sym,eqval,neval): def m(sym,eqval,neval,next): if next==sym: return eqval return neval return curry(m,sym,eqval,neval)