# HG changeset patch # User Goffi # Date 1309261980 -7200 # Node ID ca4fc2b2471bfaf5546b9df47bfdd3bcc7632ec9 # Parent bd0ca532fdf9b3e5b1115a36c2325e87dfe6dde6 browser side: signal management - removed alert in favor of print (except for internal error) - in case of error, libervia now try to contact the server again to get signals diff -r bd0ca532fdf9 -r ca4fc2b2471b libervia.py --- a/libervia.py Tue Jun 28 13:49:08 2011 +0200 +++ b/libervia.py Tue Jun 28 13:53:00 2011 +0200 @@ -60,9 +60,9 @@ dump(o)""" else: if isinstance(errobj['message'],dict): - Window.alert("Error %s: %s" % (errobj['message']['faultCode'], errobj['message']['faultString'])) + print("Error %s: %s" % (errobj['message']['faultCode'], errobj['message']['faultString'])) else: - Window.alert("Error: %s" % errobj['message']) + print("Error: %s" % errobj['message']) class RegisterCall(LiberviaJsonProxy): def __init__(self): @@ -79,9 +79,15 @@ "tarotGamePlayCards", "getWaitingSub", "subscription", "delContact", "updateContact"]) class BridgeSignals(LiberviaJsonProxy): - def __init__(self): + def __init__(self, host): + self.host = host LiberviaJsonProxy.__init__(self, "/json_signal_api", ["getSignals"]) + + def onRemoteError(self, code, errobj, request_info): + LiberviaJsonProxy.onRemoteError(self, code, errobj, request_info) + #we now try to reconnect + self.host.bridge_signals.call('getSignals', self.host._getSignalsCB) class MicroblogEntry(): def __init__(self, data): @@ -95,7 +101,7 @@ def onModuleLoad(self): self.whoami = None self.bridge = BridgeCall() - self.bridge_signals = BridgeSignals() + self.bridge_signals = BridgeSignals(self) self.selected = None self.uni_box = None self.status_panel = panels.StatusPanel(self) @@ -189,8 +195,7 @@ self._newContactCb(jid, attributes, groups) def _getSignalsCB(self, signal_data): - bridge_signals = BridgeSignals() - bridge_signals.call('getSignals', self._getSignalsCB) + self.bridge_signals.call('getSignals', self._getSignalsCB) print('Got signal ==> name: %s, params: %s' % (signal_data[0],signal_data[1])) name,args = signal_data if name == 'personalEvent':