fixed typo at include guards
[svn42.git] / update-web-status.py
index 77159ac..7c297ce 100755 (executable)
@@ -50,14 +50,14 @@ class UWSConfig:
     logging.debug("Checking Configfile mtime: "+self.configfile)
     try:
       mtime = os.path.getmtime(self.configfile)
-    except IOError:
+    except (IOError,OSError):
       return
     if self.config_mtime < mtime:
       logging.debug("Reading Configfile")
       try:
         self.config_parser.read(self.configfile)
         self.config_mtime=os.path.getmtime(self.configfile)
-      except ConfigParser.ParsingError, pe_ex:
+      except (ConfigParser.ParsingError, IOError), pe_ex:
         logging.error("Error parsing Configfile: "+str(pe_ex))
       if self.config_parser.get('debug','enabled') == "True":
         logger.setLevel(logging.DEBUG)
@@ -192,12 +192,16 @@ else:
   uwscfg = UWSConfig()
 
 #socket.setdefaulttimeout(10.0) #affects all new Socket Connections (urllib as well)
-sockhandle = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
 RE_STATUS = re.compile(r'Status: (\w+), idle')
 RE_REQUEST = re.compile(r'Request: (\w+) (?:Card )?(.+)')
 RE_ERROR = re.compile(r'Error: (.+)')
 while True:
   try:
+    if not os.path.exists(socketfile):
+      logging.debug("Socketfile '%s' not found, waiting 5 secs" % socketfile)
+      time.sleep(5)
+      continue
+    sockhandle = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
     sockhandle.connect(socketfile)
     conn = os.fdopen(sockhandle.fileno())
     sockhandle.send("listen\n")
@@ -208,6 +212,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)
@@ -228,12 +235,9 @@ while True:
   except Exception, ex:
     logging.error("main: "+str(ex)) 
     try:
-      conn.close()
-    except:
-      pass
-    try:
       sockhandle.close()
     except:
       pass
+    conn=None
+    sockhandle=None      
     time.sleep(5)
-