Better Exception Handling
authorBernhard Tittelbach <xro@realraum.at>
Sun, 20 Sep 2009 02:26:26 +0000 (02:26 +0000)
committerBernhard Tittelbach <xro@realraum.at>
Sun, 20 Sep 2009 02:26:26 +0000 (02:26 +0000)
update-web-status.py
update-xmpp-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
index 9f4d50b..c4bb6d4 100644 (file)
@@ -58,14 +58,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)
@@ -235,13 +235,12 @@ else:
   uwscfg = UWSConfig()
 
 distributeXmppMsg("update-xmpp-status.py started", debug=True)
-
-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")
@@ -273,10 +272,6 @@ while True:
   except Exception, ex:
     logging.error("main: "+str(ex)) 
     try:
-      conn.close()
-    except:
-      pass
-    try:
       sockhandle.close()
     except:
       pass