diff sat/plugins/plugin_xep_0115.py @ 2624:56f94936df1e

code style reformatting using black
author Goffi <goffi@goffi.org>
date Wed, 27 Jun 2018 20:14:46 +0200
parents e70023e84974
children 378188abe941
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0115.py	Wed Jun 27 07:51:29 2018 +0200
+++ b/sat/plugins/plugin_xep_0115.py	Wed Jun 27 20:14:46 2018 +0200
@@ -20,6 +20,7 @@
 from sat.core.i18n import _
 from sat.core.constants import Const as C
 from sat.core.log import getLogger
+
 log = getLogger(__name__)
 from twisted.words.xish import domish
 from twisted.words.protocols.jabber import jid
@@ -32,9 +33,9 @@
 except ImportError:
     from wokkel.subprotocols import XMPPHandler
 
-PRESENCE = '/presence'
-NS_ENTITY_CAPABILITY = 'http://jabber.org/protocol/caps'
-NS_CAPS_OPTIMIZE = 'http://jabber.org/protocol/caps#optimize'
+PRESENCE = "/presence"
+NS_ENTITY_CAPABILITY = "http://jabber.org/protocol/caps"
+NS_CAPS_OPTIMIZE = "http://jabber.org/protocol/caps#optimize"
 CAPABILITY_UPDATE = PRESENCE + '/c[@xmlns="' + NS_ENTITY_CAPABILITY + '"]'
 
 PLUGIN_INFO = {
@@ -46,7 +47,7 @@
     C.PI_DEPENDENCIES: [],
     C.PI_MAIN: "XEP_0115",
     C.PI_HANDLER: "yes",
-    C.PI_DESCRIPTION: _("""Implementation of entity capabilities""")
+    C.PI_DESCRIPTION: _("""Implementation of entity capabilities"""),
 }
 
 
@@ -75,24 +76,29 @@
             log.warning(_(u"Caps optimisation not available"))
 
         # hash generation
-        _infos = yield client.discoHandler.info(client.jid, client.jid, '')
+        _infos = yield client.discoHandler.info(client.jid, client.jid, "")
         disco_infos = disco.DiscoInfo()
         for item in _infos:
             disco_infos.append(item)
         cap_hash = client._caps_hash = self.host.memory.disco.generateHash(disco_infos)
-        log.info(u"Our capability hash has been generated: [{cap_hash}]".format(
-            cap_hash = cap_hash))
+        log.info(
+            u"Our capability hash has been generated: [{cap_hash}]".format(
+                cap_hash=cap_hash
+            )
+        )
         log.debug(u"Generating capability domish.Element")
-        c_elt = domish.Element((NS_ENTITY_CAPABILITY, 'c'))
-        c_elt['hash'] = 'sha-1'
-        c_elt['node'] = C.APP_URL
-        c_elt['ver'] = cap_hash
+        c_elt = domish.Element((NS_ENTITY_CAPABILITY, "c"))
+        c_elt["hash"] = "sha-1"
+        c_elt["node"] = C.APP_URL
+        c_elt["ver"] = cap_hash
         client._caps_elt = c_elt
         if client._caps_optimize:
             client._caps_sent = False
         if cap_hash not in self.host.memory.disco.hashes:
             self.host.memory.disco.hashes[cap_hash] = disco_infos
-            self.host.memory.updateEntityData(client.jid, C.ENTITY_CAP_HASH, cap_hash, profile_key=client.profile)
+            self.host.memory.updateEntityData(
+                client.jid, C.ENTITY_CAP_HASH, cap_hash, profile_key=client.profile
+            )
 
     def _presenceAddElt(self, client, obj):
         if client._caps_optimize:
@@ -120,10 +126,13 @@
     def connectionInitialized(self):
         self.xmlstream.addObserver(CAPABILITY_UPDATE, self.update)
 
-    def getDiscoInfo(self, requestor, target, nodeIdentifier=''):
-        return [disco.DiscoFeature(NS_ENTITY_CAPABILITY), disco.DiscoFeature(NS_CAPS_OPTIMIZE)]
+    def getDiscoInfo(self, requestor, target, nodeIdentifier=""):
+        return [
+            disco.DiscoFeature(NS_ENTITY_CAPABILITY),
+            disco.DiscoFeature(NS_CAPS_OPTIMIZE),
+        ]
 
-    def getDiscoItems(self, requestor, target, nodeIdentifier=''):
+    def getDiscoItems(self, requestor, target, nodeIdentifier=""):
         return []
 
     def update(self, presence):
@@ -132,35 +141,65 @@
 
         Check if we know the version of this capabilities and get the capabilities if necessary
         """
-        from_jid = jid.JID(presence['from'])
-        c_elem = presence.elements(NS_ENTITY_CAPABILITY, 'c').next()
+        from_jid = jid.JID(presence["from"])
+        c_elem = presence.elements(NS_ENTITY_CAPABILITY, "c").next()
         try:
-            c_ver = c_elem['ver']
-            c_hash = c_elem['hash']
-            c_node = c_elem['node']
+            c_ver = c_elem["ver"]
+            c_hash = c_elem["hash"]
+            c_node = c_elem["node"]
         except KeyError:
-            log.warning(_(u'Received invalid capabilities tag: %s') % c_elem.toXml())
+            log.warning(_(u"Received invalid capabilities tag: %s") % c_elem.toXml())
             return
 
         if c_ver in self.host.memory.disco.hashes:
             # we already know the hash, we update the jid entity
-            log.debug(u"hash [%(hash)s] already in cache, updating entity [%(jid)s]" % {'hash': c_ver, 'jid': from_jid.full()})
-            self.host.memory.updateEntityData(from_jid, C.ENTITY_CAP_HASH, c_ver, profile_key=self.profile)
+            log.debug(
+                u"hash [%(hash)s] already in cache, updating entity [%(jid)s]"
+                % {"hash": c_ver, "jid": from_jid.full()}
+            )
+            self.host.memory.updateEntityData(
+                from_jid, C.ENTITY_CAP_HASH, c_ver, profile_key=self.profile
+            )
             return
 
-        if c_hash != 'sha-1': # unknown hash method
-            log.warning(_(u'Unknown hash method for entity capabilities: [%(hash_method)s] (entity: %(jid)s, node: %(node)s)') % {'hash_method':c_hash, 'jid': from_jid, 'node': c_node})
+        if c_hash != "sha-1":  # unknown hash method
+            log.warning(
+                _(
+                    u"Unknown hash method for entity capabilities: [%(hash_method)s] (entity: %(jid)s, node: %(node)s)"
+                )
+                % {"hash_method": c_hash, "jid": from_jid, "node": c_node}
+            )
 
         def cb(dummy):
-            computed_hash = self.host.memory.getEntityDatum(from_jid, C.ENTITY_CAP_HASH, self.profile)
+            computed_hash = self.host.memory.getEntityDatum(
+                from_jid, C.ENTITY_CAP_HASH, self.profile
+            )
             if computed_hash != c_ver:
-                log.warning(_(u'Computed hash differ from given hash:\ngiven: [%(given_hash)s]\ncomputed: [%(computed_hash)s]\n(entity: %(jid)s, node: %(node)s)') % {'given_hash':c_ver, 'computed_hash': computed_hash, 'jid': from_jid, 'node': c_node})
+                log.warning(
+                    _(
+                        u"Computed hash differ from given hash:\ngiven: [%(given_hash)s]\ncomputed: [%(computed_hash)s]\n(entity: %(jid)s, node: %(node)s)"
+                    )
+                    % {
+                        "given_hash": c_ver,
+                        "computed_hash": computed_hash,
+                        "jid": from_jid,
+                        "node": c_node,
+                    }
+                )
 
         def eb(failure):
             if isinstance(failure.value, error.ConnectionDone):
                 return
-            msg = failure.value.condition if hasattr(failure.value, 'condition') else failure.getErrorMessage()
-            log.error(_(u"Couldn't retrieve disco info for {jid}: {error}").format(jid=from_jid.full(), error=msg))
+            msg = (
+                failure.value.condition
+                if hasattr(failure.value, "condition")
+                else failure.getErrorMessage()
+            )
+            log.error(
+                _(u"Couldn't retrieve disco info for {jid}: {error}").format(
+                    jid=from_jid.full(), error=msg
+                )
+            )
 
         d = self.host.getDiscoInfos(self.parent, from_jid)
         d.addCallbacks(cb, eb)