Better Exception Handling
[svn42.git] / update-web-status.py
index 77159ac..a392e0e 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,12 @@ 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:
+    sockhandle = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
     sockhandle.connect(socketfile)
     conn = os.fdopen(sockhandle.fileno())
     sockhandle.send("listen\n")
@@ -228,10 +228,6 @@ while True:
   except Exception, ex:
     logging.error("main: "+str(ex)) 
     try:
-      conn.close()
-    except:
-      pass
-    try:
       sockhandle.close()
     except:
       pass