X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=update-xmpp-status.py;h=61615e6ebdf6767252bf1741629b5aa9d7c42985;hb=55aaf5e626569488c4efa8b6e891dd6cfcc2ff32;hp=d2f0ad22fb6f9b5cc30967677ba897dc371bd743;hpb=43c6c427475fafe8d40288f49c4cf9bb12598366;p=svn42.git diff --git a/update-xmpp-status.py b/update-xmpp-status.py index d2f0ad2..61615e6 100755 --- a/update-xmpp-status.py +++ b/update-xmpp-status.py @@ -39,6 +39,8 @@ class UWSConfig: self.config_parser.set('msg','status_error_msg',"ERROR Last Operation took too long !!!") self.config_parser.set('msg','request_msg',"\safter ${request} request") self.config_parser.set('msg','comment_msg',"\s(${comment})") + self.config_parser.set('msg','status_still_opened_msg',"Door remains closed") + self.config_parser.set('msg','status_still_closed_msg',"Door remains open") self.config_parser.add_section('debug') self.config_parser.set('debug','enabled',"False") self.config_mtime=0 @@ -67,11 +69,13 @@ class UWSConfig: self.config_mtime=os.path.getmtime(self.configfile) except (ConfigParser.ParsingError, IOError), pe_ex: logging.error("Error parsing Configfile: "+str(pe_ex)) - self.config_parser.set('msg','comment_msg', self.config_parser.get('msg','comment_msg').replace("\s"," ")) - self.config_parser.set('msg','request_msg', self.config_parser.get('msg','request_msg').replace("\s"," ")) - self.config_parser.set('msg','status_error_msg', self.config_parser.get('msg','status_error_msg').replace("\s"," ")) - self.config_parser.set('msg','status_closed_msg', self.config_parser.get('msg','status_closed_msg').replace("\s"," ")) - self.config_parser.set('msg','status_opened_msg', self.config_parser.get('msg','status_opened_msg').replace("\s"," ")) + self.config_parser.set('msg','comment_msg', self.config_parser.get('msg','comment_msg').replace("\\s"," ")) + self.config_parser.set('msg','request_msg', self.config_parser.get('msg','request_msg').replace("\\s"," ")) + self.config_parser.set('msg','status_error_msg', self.config_parser.get('msg','status_error_msg').replace("\\s"," ")) + self.config_parser.set('msg','status_closed_msg', self.config_parser.get('msg','status_closed_msg').replace("\\s"," ")) + self.config_parser.set('msg','status_opened_msg', self.config_parser.get('msg','status_opened_msg').replace("\\s"," ")) + self.config_parser.set('msg','status_still_closed_msg', self.config_parser.get('msg','status_still_closed_msg').replace("\\s"," ")) + self.config_parser.set('msg','status_still_opened_msg', self.config_parser.get('msg','status_still_opened_msg').replace("\\s"," ")) if self.config_parser.get('debug','enabled') == "True": logger.setLevel(logging.DEBUG) else: @@ -198,16 +202,28 @@ def filterAndFormatMessage(new_status): req_msg="" status_msg="" comment_msg="" - if status == "opened": - status_msg = uwscfg.msg_status_opened_msg - elif status == "closed": - status_msg = uwscfg.msg_status_closed_msg - elif status == "error": + if status == "error": status_msg = uwscfg.msg_status_error_msg high_priority_msg=True else: - distributeXmppMsg("Unknown Status: (%s,%s,%s)" % new_status ,debug=True) - return + if current_status[0] == status: + if status == "opened": + status_msg = uwscfg.msg_status_still_opened_msg + elif status == "closed": + status_msg = uwscfg.msg_status_still_closed_msg + else: + logging.error("Unknown Status recieved: (%s,%s,%s)" % new_status) + distributeXmppMsg("Unknown Status: (%s,%s,%s)" % new_status ,debug=True) + return + else: + if status == "opened": + status_msg = uwscfg.msg_status_opened_msg + elif status == "closed": + status_msg = uwscfg.msg_status_closed_msg + else: + logging.error("Unknown Status recieved: (%s,%s,%s)" % new_status) + distributeXmppMsg("Unknown Status: (%s,%s,%s)" % new_status ,debug=True) + return if req: req_msg = uwscfg.msg_request_msg.replace("${request}",req) if req_comment: @@ -267,6 +283,9 @@ while True: uwscfg.checkConfigUpdates() + if line == "": + raise Exception("EOF on Socket, daemon seems to have quit") + m = RE_STATUS.match(line) if not m is None: status = m.group(1) @@ -293,4 +312,3 @@ while True: conn=None sockhandle=None time.sleep(5) -