X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=update-xmpp-status.py;h=74283f10d6b1ec63da439f72b2336d94a099e1f4;hp=4e5da579262f40c97a7d4912ecbd6b43093d0b2f;hb=9b57ad36fa772a94f8f38321a88f2b1df1818a51;hpb=6c8941534a7d98c12632481f83e3cd7687edff27 diff --git a/update-xmpp-status.py b/update-xmpp-status.py index 4e5da57..74283f1 100755 --- a/update-xmpp-status.py +++ b/update-xmpp-status.py @@ -311,13 +311,13 @@ def formatAndDistributePresence(presence, door_tuple=(None,None)): def formatAndDistributeWarning(msg, door_tuple=(None,None)): distributeXmppMsg("Warning: "+msg , high_priority=True) -current_status = (None, None, None, None) +current_status = (None, None, None, None, None) def filterAndFormatMessage(new_status): global current_status if new_status[0] == "error": distributeXmppMsg(uwscfg.msg_status_error_msg, high_priority=True) elif current_status[0] != new_status[0]: - distributeXmppMsg("Status: (%s,%s,%s,%s)" % new_status ,debug=True) + distributeXmppMsg("Status: (%s,%s,%s,%s,%s)" % new_status ,debug=True) current_status=new_status def exitHandler(signum, frame): @@ -350,7 +350,7 @@ else: uwscfg = UWSConfig() distributeXmppMsg("update-xmpp-status.py started", debug=True) -RE_STATUS = re.compile(r'Status: (\w+), idle') +RE_STATUS = re.compile(r'Status: (closed|opened), (opening|waiting|closing|idle), (ajar|shut).*',re.I) RE_REQUEST = re.compile(r'Request: (\w+) (?:(Card|Phone) )?(.+)') RE_PRESENCE = re.compile(r'Presence: (yes|no)(?:, (opened|closed), (.+))?') RE_BUTTON = re.compile(r'PanicButton|button\d?') @@ -402,7 +402,8 @@ while True: m = RE_STATUS.match(line) if not m is None: status = m.group(1) - filterAndFormatMessage((status,) + last_request) + ajar_status = m.group(3) + filterAndFormatMessage((status,ajar_status) + last_request) last_request = (None, None, None) continue @@ -418,7 +419,7 @@ while True: if not m is None: errorstr = m.group(1) if "too long!" in errorstr: - filterAndFormatMessage(("error",) + last_request) + filterAndFormatMessage(("error","") + last_request) last_request = (None, None, None) else: logging.error("Recieved Error: "+errorstr)