summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sleekxmpp/api.py4
-rw-r--r--sleekxmpp/plugins/xep_0030/disco.py16
-rw-r--r--sleekxmpp/plugins/xep_0030/static.py5
-rw-r--r--sleekxmpp/plugins/xep_0115/caps.py5
4 files changed, 10 insertions, 20 deletions
diff --git a/sleekxmpp/api.py b/sleekxmpp/api.py
index 103de2ff..4004f5b7 100644
--- a/sleekxmpp/api.py
+++ b/sleekxmpp/api.py
@@ -99,7 +99,7 @@ class APIRegistry(object):
"""
self._setup(ctype, op)
- if jid in (None, ''):
+ if not jid:
jid = self.xmpp.boundjid
if jid and not isinstance(jid, JID):
jid = JID(jid)
@@ -113,7 +113,7 @@ class APIRegistry(object):
else:
jid = jid.full
else:
- if self.settings[ctype].get('client_bare', True):
+ if self.settings[ctype].get('client_bare', False):
jid = jid.bare
else:
jid = jid.full
diff --git a/sleekxmpp/plugins/xep_0030/disco.py b/sleekxmpp/plugins/xep_0030/disco.py
index 18c1dba2..eeb977b1 100644
--- a/sleekxmpp/plugins/xep_0030/disco.py
+++ b/sleekxmpp/plugins/xep_0030/disco.py
@@ -622,11 +622,7 @@ class XEP_0030(BasePlugin):
if iq['type'] == 'get':
log.debug("Received disco info query from " + \
"<%s> to <%s>.", iq['from'], iq['to'])
- if self.xmpp.is_component:
- jid = iq['to'].full
- else:
- jid = iq['to'].bare
- info = self.api['get_info'](jid,
+ info = self.api['get_info'](iq['to'],
iq['disco_info']['node'],
iq['from'],
iq)
@@ -649,7 +645,7 @@ class XEP_0030(BasePlugin):
ito = iq['to'].full
else:
ito = None
- self.api['cache_info'](iq['from'].full,
+ self.api['cache_info'](iq['from'],
iq['disco_info']['node'],
ito,
iq)
@@ -667,13 +663,9 @@ class XEP_0030(BasePlugin):
if iq['type'] == 'get':
log.debug("Received disco items query from " + \
"<%s> to <%s>.", iq['from'], iq['to'])
- if self.xmpp.is_component:
- jid = iq['to'].full
- else:
- jid = iq['to'].bare
- items = self.api['get_items'](jid,
+ items = self.api['get_items'](iq['to'],
iq['disco_items']['node'],
- iq['from'].full,
+ iq['from'],
iq)
if isinstance(items, Iq):
items.send()
diff --git a/sleekxmpp/plugins/xep_0030/static.py b/sleekxmpp/plugins/xep_0030/static.py
index 8dd412d4..dd5317d1 100644
--- a/sleekxmpp/plugins/xep_0030/static.py
+++ b/sleekxmpp/plugins/xep_0030/static.py
@@ -237,7 +237,7 @@ class StaticDisco(object):
with self.lock:
if not self.node_exists(jid, node):
if not node:
- return DiscoInfo()
+ return DiscoItems()
else:
raise XMPPError(condition='item-not-found')
else:
@@ -424,9 +424,6 @@ class StaticDisco(object):
The data parameter is not used.
"""
with self.lock:
- if isinstance(jid, JID):
- jid = jid.full
-
if not self.node_exists(jid, node, ifrom):
return None
else:
diff --git a/sleekxmpp/plugins/xep_0115/caps.py b/sleekxmpp/plugins/xep_0115/caps.py
index b0cba42d..9c93486b 100644
--- a/sleekxmpp/plugins/xep_0115/caps.py
+++ b/sleekxmpp/plugins/xep_0115/caps.py
@@ -78,11 +78,12 @@ class XEP_0115(BasePlugin):
disco = self.xmpp['xep_0030']
self.static = StaticCaps(self.xmpp, disco.static)
- self.api.settings['client_bare'] = False
- self.api.settings['component_bare'] = False
for op in self._disco_ops:
self.api.register(getattr(self.static, op), op, default=True)
+ for op in ('supports', 'has_identity'):
+ self.xmpp['xep_0030'].api.register(getattr(self.static, op), op)
+
self._run_node_handler = disco._run_node_handler
disco.cache_caps = self.cache_caps