diff options
author | Lance Stout <lancestout@gmail.com> | 2013-01-02 17:04:27 -0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2013-01-02 17:04:27 -0800 |
commit | 91dc58d9676323287d8bb7a40adeb6bd225e6bf6 (patch) | |
tree | e697271a06a2acf9cdd243a5852acbfd18c1ee82 /sleekxmpp/plugins/xep_0054/vcard_temp.py | |
parent | 597eb1779c497ad850fe3c03fd480fea5c9ef7ea (diff) | |
download | slixmpp-91dc58d9676323287d8bb7a40adeb6bd225e6bf6.tar.gz slixmpp-91dc58d9676323287d8bb7a40adeb6bd225e6bf6.tar.bz2 slixmpp-91dc58d9676323287d8bb7a40adeb6bd225e6bf6.tar.xz slixmpp-91dc58d9676323287d8bb7a40adeb6bd225e6bf6.zip |
Fix startup issues with components using caps and vcards.
Diffstat (limited to 'sleekxmpp/plugins/xep_0054/vcard_temp.py')
-rw-r--r-- | sleekxmpp/plugins/xep_0054/vcard_temp.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sleekxmpp/plugins/xep_0054/vcard_temp.py b/sleekxmpp/plugins/xep_0054/vcard_temp.py index 24da1c05..09acd454 100644 --- a/sleekxmpp/plugins/xep_0054/vcard_temp.py +++ b/sleekxmpp/plugins/xep_0054/vcard_temp.py @@ -59,10 +59,20 @@ class XEP_0054(BasePlugin): def make_vcard(self): return VCardTemp() - def get_vcard(self, jid=None, ifrom=None, local=False, cached=False, + def get_vcard(self, jid=None, ifrom=None, local=None, cached=False, block=True, callback=None, timeout=None): - if self.xmpp.is_component and jid.domain == self.xmpp.boundjid.domain: - local = True + if local is None: + if jid is not None and not isinstance(jid, JID): + jid = JID(jid) + if self.xmpp.is_component: + if jid.domain == self.xmpp.boundjid.domain: + local = True + else: + if str(jid) == str(self.xmpp.boundjid): + local = True + jid = jid.full + elif jid in (None, ''): + local = True if local: vcard = self.api['get_vcard'](jid, None, ifrom) |