X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=update-web-status.py;h=7c297ce24322b16a1472bdd066104c1ed81b9454;hb=693e1baac36db0445c93764c80af3d7040e3a1f9;hp=77159acf4fa82973d84c7ee9d764e4ec33310074;hpb=72e5af1584390c20dcf32c32eeef0b097a6cce89;p=svn42.git diff --git a/update-web-status.py b/update-web-status.py index 77159ac..7c297ce 100755 --- a/update-web-status.py +++ b/update-web-status.py @@ -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) -