added tuerctl shell
[svn42.git] / update-xmpp-status.py
index 2c40cf2..908aae0 100644 (file)
@@ -5,6 +5,7 @@ import os.path
 import sys
 #import threading
 import logging
+import logging.handlers
 import urllib
 import time
 import signal
@@ -14,14 +15,14 @@ import subprocess
 import types
 import ConfigParser
 
-logging.basicConfig(
-  level=logging.INFO,
-  #level=f,
-  #level=logging.DEBUG,
-  filename='/var/log/tmp/update-xmpp-status.log',
-  format="%(asctime)s %(message)s",
-  datefmt="%Y-%m-%d %H:%M:%S"
-  )
+logger = logging.getLogger()
+logger.setLevel(logging.INFO)
+#logger.setLevel(logging.DEBUG)
+lh_syslog = logging.handlers.SysLogHandler(address="/dev/log",facility=logging.handlers.SysLogHandler.LOG_LOCAL2)
+lh_syslog.setFormatter(logging.Formatter('update-xmpp-status.py: %(levelname)s %(message)s'))
+logger.addHandler(lh_syslog)
+lh_stderr = logging.StreamHandler()
+logger.addHandler(lh_stderr)
 
 class UWSConfig:
   def __init__(self,configfile=None):
@@ -33,6 +34,8 @@ class UWSConfig:
     self.config_parser.set('xmpp','recipients_nooffline','the-equinox@jabber.org')
     self.config_parser.set('xmpp','msg_opened',"Realraum Tür wurde%s geöffnet")
     self.config_parser.set('xmpp','msg_closed',"Realraum Tür wurde%s geschlossen")
+    self.config_parser.add_section('debug')
+    self.config_parser.set('debug','enabled',"False")
     self.config_mtime=0
     if not self.configfile is None:
       try:
@@ -44,6 +47,7 @@ class UWSConfig:
         self.checkConfigUpdates()
     
   def checkConfigUpdates(self):
+    global logger
     if self.configfile is None:
       return
     logging.debug("Checking Configfile mtime: "+self.configfile)
@@ -58,6 +62,10 @@ class UWSConfig:
         self.config_mtime=os.path.getmtime(self.configfile)
       except ConfigParser.ParsingError, pe_ex:
         logging.error("Error parsing Configfile: "+str(pe_ex))
+      if self.config_parser.get('debug','enabled') == "True":
+        logger.setLevel(logging.DEBUG)
+      else:
+        logger.setLevel(logging.INFO)
 
   def writeConfigFile(self):
     if self.configfile is None:
@@ -150,7 +158,7 @@ def sendXmppMsg(recipients, msg, resource = "torwaechter", addtimestamp = True,
   if resource:
     sendxmpp_cmd += "-r %s " % resource
   if noofflinemsg:
-    sendxmpp_cmd += "--headline "
+    sendxmpp_cmd += "--message-type=headline "
   sendxmpp_cmd += recipients
   
   if addtimestamp:
@@ -181,7 +189,7 @@ def touchURL(url):
     f.read()
     f.close()
   except Exception, e:
-    logging.error("tochURL: "+str(e))
+    logging.error("touchURL: "+str(e))
   
 def displayOpen():
   distributeXmppMsg(uwscfg.xmpp_msg_opened % action_by)
@@ -253,7 +261,7 @@ while True:
       if not m is None:
         errorstr = m.group(1)
         if "too long!" in errorstr:
-          distributeXmppMsg(uwscfg.xmpp_recipients_debug, "Door Error: "+errorstr, high_priority=True)
+          distributeXmppMsg("Door Error: "+errorstr, high_priority=True)
         else:
           sendXmppMsg(uwscfg.xmpp_recipients_debug, "D: Error: "+errorstr)
   except Exception, ex: