diff options
Diffstat (limited to 'sleekxmpp/plugins/xep_0115')
-rw-r--r-- | sleekxmpp/plugins/xep_0115/caps.py | 18 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0115/static.py | 6 |
2 files changed, 13 insertions, 11 deletions
diff --git a/sleekxmpp/plugins/xep_0115/caps.py b/sleekxmpp/plugins/xep_0115/caps.py index 5e5d2320..b0cba42d 100644 --- a/sleekxmpp/plugins/xep_0115/caps.py +++ b/sleekxmpp/plugins/xep_0115/caps.py @@ -35,7 +35,7 @@ class XEP_0115(BasePlugin): stanza = stanza def plugin_init(self): - self.hashes = {'sha-1': hashlib.sha1, + self.hashes = {'sha-1': hashlib.sha1, 'sha1': hashlib.sha1, 'md5': hashlib.md5} @@ -124,7 +124,7 @@ class XEP_0115(BasePlugin): existing_verstring = self.get_verstring(pres['from'].full) if str(existing_verstring) == str(pres['caps']['ver']): return - + if pres['caps']['hash'] not in self.hashes: try: log.debug("Unknown caps hash: %s", pres['caps']['hash']) @@ -132,7 +132,7 @@ class XEP_0115(BasePlugin): return except XMPPError: return - + log.debug("New caps verification string: %s", pres['caps']['ver']) try: node = '%s#%s' % (pres['caps']['node'], pres['caps']['ver']) @@ -140,7 +140,7 @@ class XEP_0115(BasePlugin): if isinstance(caps, Iq): caps = caps['disco_info'] - + if self._validate_caps(caps, pres['caps']['hash'], pres['caps']['ver']): self.assign_verstring(pres['from'], pres['caps']['ver']) @@ -173,7 +173,8 @@ class XEP_0115(BasePlugin): form_types.append(f_type) deduped_form_types.add(f_type) if len(form_types) != len(deduped_form_types): - log.debug("Duplicated FORM_TYPE values, invalid for caps") + log.debug("Duplicated FORM_TYPE values, " + \ + "invalid for caps") return False if len(f_type) > 1: @@ -183,7 +184,8 @@ class XEP_0115(BasePlugin): return False if stanza['fields']['FORM_TYPE']['type'] != 'hidden': - log.debug("Field FORM_TYPE type not 'hidden', ignoring form for caps") + log.debug("Field FORM_TYPE type not 'hidden', " + \ + "ignoring form for caps") caps.xml.remove(stanza.xml) else: log.debug("No FORM_TYPE found, ignoring form for caps") @@ -212,7 +214,7 @@ class XEP_0115(BasePlugin): identities = sorted(('/'.join(i) for i in identities)) features = sorted(info['features']) - + S += '<'.join(identities) + '<' S += '<'.join(features) + '<' @@ -254,7 +256,7 @@ class XEP_0115(BasePlugin): info = info['disco_info'] ver = self.generate_verstring(info, self.hash) self.xmpp['xep_0030'].set_info( - jid=jid, + jid=jid, node='%s#%s' % (self.caps_node, ver), info=info) self.cache_caps(ver, info) diff --git a/sleekxmpp/plugins/xep_0115/static.py b/sleekxmpp/plugins/xep_0115/static.py index a0a8fb23..f83c244c 100644 --- a/sleekxmpp/plugins/xep_0115/static.py +++ b/sleekxmpp/plugins/xep_0115/static.py @@ -69,7 +69,7 @@ class StaticCaps(object): return True try: - info = self.disco.get_info(jid=jid, node=node, + info = self.disco.get_info(jid=jid, node=node, ifrom=ifrom, **data) info = self.disco._wrap(ifrom, jid, info, True) return feature in info['disco_info']['features'] @@ -99,7 +99,7 @@ class StaticCaps(object): be skipped, even if a result has already been cached. Defaults to false. """ - identity = (data.get('category', None), + identity = (data.get('category', None), data.get('itype', None), data.get('lang', None)) @@ -114,7 +114,7 @@ class StaticCaps(object): return True try: - info = self.disco.get_info(jid=jid, node=node, + info = self.disco.get_info(jid=jid, node=node, ifrom=ifrom, **data) info = self.disco._wrap(ifrom, jid, info, True) return identity in map(trunc, info['disco_info']['identities']) |