# HG changeset patch # User Goffi # Date 1488129781 -3600 # Node ID 4b78b4c7f805e9437a0b790aee9e08ed4199547f # Parent 1b3fbb76984b6ab8b79b9d0510b4c4b533058c3b core, frontends: various fixes for Libervia: - quick_app: don't fail when we can't get autodisconnect parameter - bridge: removed useless BridgeFrontend parent class - use of TypeError, unicode and list to workaround Pyjamas incompatibilities diff -r 1b3fbb76984b -r 4b78b4c7f805 frontends/src/bridge/bridge_frontend.py --- a/frontends/src/bridge/bridge_frontend.py Sun Feb 26 18:20:27 2017 +0100 +++ b/frontends/src/bridge/bridge_frontend.py Sun Feb 26 18:23:01 2017 +0100 @@ -18,12 +18,6 @@ # along with this program. If not, see . -class BridgeFrontend(object): - - def register(self, functionName, handler): - raise NotImplementedError - - class BridgeException(Exception): """An exception which has been raised from the backend and arrived to the frontend.""" diff -r 1b3fbb76984b -r 4b78b4c7f805 frontends/src/bridge/dbus_bridge.py --- a/frontends/src/bridge/dbus_bridge.py Sun Feb 26 18:20:27 2017 +0100 +++ b/frontends/src/bridge/dbus_bridge.py Sun Feb 26 18:23:01 2017 +0100 @@ -18,7 +18,7 @@ # along with this program. If not, see . from sat.core.i18n import _ -from bridge_frontend import BridgeFrontend, BridgeException +from bridge_frontend import BridgeException import dbus from sat.core.log import getLogger log = getLogger(__name__) @@ -59,7 +59,7 @@ return BridgeException(name, message, condition) -class Bridge(BridgeFrontend): +class Bridge(object): def bridgeConnect(self, callback, errback): try: diff -r 1b3fbb76984b -r 4b78b4c7f805 frontends/src/quick_frontend/quick_app.py --- a/frontends/src/quick_frontend/quick_app.py Sun Feb 26 18:20:27 2017 +0100 +++ b/frontends/src/quick_frontend/quick_app.py Sun Feb 26 18:23:01 2017 +0100 @@ -76,10 +76,15 @@ self.whoami = jid.JID(jid_s) # resource might change after the connection self.bridge.isConnected(self.profile, callback=self._plug_profile_isconnected) + def _autodisconnectEb(self, failure_): + # XXX: we ignore error on this parameter, as Libervia can't access it + log.warning(_("Error while trying to get autodisconnect param, ignoring: {}").format(failure_)) + self._plug_profile_autodisconnect("false") + def _plug_profile_isconnected(self, connected): self.connected = connected self.bridge.asyncGetParamA("autodisconnect", "Connection", profile_key=self.profile, - callback=self._plug_profile_autodisconnect, errback=self._getParamError) + callback=self._plug_profile_autodisconnect, errback=self._autodisconnectEb) def _plug_profile_autodisconnect(self, autodisconnect): if C.bool(autodisconnect): diff -r 1b3fbb76984b -r 4b78b4c7f805 frontends/src/quick_frontend/quick_chat.py --- a/frontends/src/quick_frontend/quick_chat.py Sun Feb 26 18:20:27 2017 +0100 +++ b/frontends/src/quick_frontend/quick_chat.py Sun Feb 26 18:23:01 2017 +0100 @@ -139,7 +139,8 @@ except KeyError: log.error(u"extra data is missing user nick for uid {}".format(self.uid)) return "" - if self.parent.type == C.CHAT_GROUP or entity in contact_list.getSpecials(C.CONTACT_SPECIAL_GROUP): + # FIXME: converted getSpecials to list for pyjamas + if self.parent.type == C.CHAT_GROUP or entity in list(contact_list.getSpecials(C.CONTACT_SPECIAL_GROUP)): return entity.resource or "" if entity.bare in contact_list: return contact_list.getCache(entity, 'nick') or contact_list.getCache(entity, 'name') or entity.node or entity @@ -292,7 +293,7 @@ @staticmethod def getWidgetHash(target, profiles): profile = list(profiles)[0] - return profile + "\n" + target.bare + return profile + "\n" + unicode(target.bare) @staticmethod def getPrivateHash(target, profile): diff -r 1b3fbb76984b -r 4b78b4c7f805 src/core/sat_main.py --- a/src/core/sat_main.py Sun Feb 26 18:20:27 2017 +0100 +++ b/src/core/sat_main.py Sun Feb 26 18:23:01 2017 +0100 @@ -36,7 +36,6 @@ from sat.stdui import ui_contact_list, ui_profile_manager import sat.plugins from glob import glob -from uuid import uuid4 import sys import os.path import uuid @@ -733,7 +732,7 @@ """ callback_id = kwargs.pop('force_id', None) if callback_id is None: - callback_id = str(uuid4()) + callback_id = str(uuid.uuid4()) else: if callback_id in self._cb_map: raise exceptions.ConflictError(_(u"id already registered")) diff -r 1b3fbb76984b -r 4b78b4c7f805 src/tools/common/ansi.py --- a/src/tools/common/ansi.py Sun Feb 26 18:20:27 2017 +0100 +++ b/src/tools/common/ansi.py Sun Feb 26 18:23:01 2017 +0100 @@ -44,7 +44,7 @@ try: tty = sys.stdout.isatty() -except AttributeError: +except (AttributeError, TypeError): # FIXME: TypeError is here for Pyjamas, need to be removed tty = False if not tty: # we don't want ANSI escape codes if we are not outputing to a tty!