connectors/PYRO/__init__.py
changeset 1116 300f98a8d4c6
parent 1070 86ee833e33ef
child 1434 6e0cd0ceabb7
equal deleted inserted replaced
1115:a4e58715ae41 1116:300f98a8d4c6
    71         and return defaul value when it happen
    71         and return defaul value when it happen
    72         """
    72         """
    73         def catcher_func(*args,**kwargs):
    73         def catcher_func(*args,**kwargs):
    74             try:
    74             try:
    75                 return func(*args,**kwargs)
    75                 return func(*args,**kwargs)
       
    76             except Pyro.errors.ConnectionClosedError, e:
       
    77                 confnodesroot.logger.write_error("Connection lost!\n")
       
    78                 confnodesroot._SetConnector(None)
    76             except Pyro.errors.ProtocolError, e:
    79             except Pyro.errors.ProtocolError, e:
    77                 confnodesroot.logger.write_error("Pyro exception: "+str(e)+"\n")
    80                 confnodesroot.logger.write_error("Pyro exception: "+str(e)+"\n")
    78             except Pyro.errors.ConnectionClosedError, e:
       
    79                 confnodesroot.logger.write_error("Connection lost!\n")
       
    80                 confnodesroot._connector = None
       
    81             except Exception,e:
    81             except Exception,e:
    82                 #confnodesroot.logger.write_error(traceback.format_exc())
    82                 #confnodesroot.logger.write_error(traceback.format_exc())
    83                 errmess = ''.join(Pyro.util.getPyroTraceback(e))
    83                 errmess = ''.join(Pyro.util.getPyroTraceback(e))
    84                 confnodesroot.logger.write_error(errmess+"\n")
    84                 confnodesroot.logger.write_error(errmess+"\n")
    85                 print errmess
    85                 print errmess
    86                 confnodesroot._connector = None
    86                 confnodesroot._SetConnector(None)
    87             return default
    87             return default
    88         return catcher_func
    88         return catcher_func
    89 
    89 
    90     # Check connection is effective. 
    90     # Check connection is effective. 
    91     # lambda is for getattr of GetPLCstatus to happen inside catcher
    91     # lambda is for getattr of GetPLCstatus to happen inside catcher