diff options
author | Lance Stout <lancestout@gmail.com> | 2013-01-24 23:05:05 -0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2013-01-24 23:05:05 -0800 |
commit | a1b33da9ca7eb0d93c02b842935386d9286d82be (patch) | |
tree | f603d724710c76afb434fd10607bf360634a9f5c /sleekxmpp/plugins/google_domain_discovery | |
parent | 1741059cf629960fbbe0c135fa530a786ec9b72e (diff) | |
download | slixmpp-a1b33da9ca7eb0d93c02b842935386d9286d82be.tar.gz slixmpp-a1b33da9ca7eb0d93c02b842935386d9286d82be.tar.bz2 slixmpp-a1b33da9ca7eb0d93c02b842935386d9286d82be.tar.xz slixmpp-a1b33da9ca7eb0d93c02b842935386d9286d82be.zip |
Refactor Google GTalk extensions into a single meta plugin.
Diffstat (limited to 'sleekxmpp/plugins/google_domain_discovery')
-rw-r--r-- | sleekxmpp/plugins/google_domain_discovery/__init__.py | 15 | ||||
-rw-r--r-- | sleekxmpp/plugins/google_domain_discovery/auth.py | 49 | ||||
-rw-r--r-- | sleekxmpp/plugins/google_domain_discovery/stanza.py | 35 |
3 files changed, 0 insertions, 99 deletions
diff --git a/sleekxmpp/plugins/google_domain_discovery/__init__.py b/sleekxmpp/plugins/google_domain_discovery/__init__.py deleted file mode 100644 index 828d1859..00000000 --- a/sleekxmpp/plugins/google_domain_discovery/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -from sleekxmpp.plugins.base import register_plugin - -from sleekxmpp.plugins.google_domain_discovery import stanza -from sleekxmpp.plugins.google_domain_discovery.auth import GoogleDomainDiscovery - - -register_plugin(GoogleDomainDiscovery) diff --git a/sleekxmpp/plugins/google_domain_discovery/auth.py b/sleekxmpp/plugins/google_domain_discovery/auth.py deleted file mode 100644 index 4de35f9f..00000000 --- a/sleekxmpp/plugins/google_domain_discovery/auth.py +++ /dev/null @@ -1,49 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -import logging - -from sleekxmpp.stanza import Iq, Message -from sleekxmpp.xmlstream.handler import Callback -from sleekxmpp.xmlstream.matcher import StanzaPath -from sleekxmpp.xmlstream import register_stanza_plugin -from sleekxmpp.plugins import BasePlugin -from sleekxmpp.plugins.google_domain_discovery import stanza - - -log = logging.getLogger(__name__) - - -class GoogleDomainDiscovery(BasePlugin): - - """ - Google: JID Domain Discovery - - Also see <https://developers.google.com/talk/jep_extensions/jid_domain_change - """ - - name = 'google_domain_discovery' - description = 'Google: JID Domain Discovery' - dependencies = set(['feature_mechanisms']) - stanza = stanza - - def plugin_init(self): - self.xmpp.namespace_map[stanza.GoogleAuth.namespace] = 'ga' - - register_stanza_plugin(self.xmpp['feature_mechanisms'].stanza.Auth, - stanza.GoogleAuth) - - self.xmpp.add_filter('out', self._auth) - - def plugin_end(self): - self.xmpp.del_filter('out', self._auth) - - def _auth(self, stanza): - if isinstance(stanza, self.xmpp['feature_mechanisms'].stanza.Auth): - stanza['use_full_bind_result'] = True - return stanza diff --git a/sleekxmpp/plugins/google_domain_discovery/stanza.py b/sleekxmpp/plugins/google_domain_discovery/stanza.py deleted file mode 100644 index 8a195afd..00000000 --- a/sleekxmpp/plugins/google_domain_discovery/stanza.py +++ /dev/null @@ -1,35 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -from sleekxmpp.xmlstream import ElementBase, ET - - -class GoogleAuth(ElementBase): - name = 'use_full_bind_result' - namespace = 'http://www.google.com/talk/protocol/auth' - plugin_attrib = name - interfaces = set([name]) - is_extension = True - - attribute = '{%s}client-users-full-bind-result' % namespace - - def setup(self, xml): - """Don't create XML for the plugin.""" - self.xml = ET.Element('') - - def get_use_full_bind_result(self): - return self.parent()._get_attr(self.attribute) == 'true' - - def set_use_full_bind_result(self, value): - if value in (True, 'true'): - self.parent()._set_attr(self.attribute, 'true') - else: - self.parent()._del_attr(self.attribute) - - def del_use_full_bind_result(self): - self.parent()._del_attr(self.attribute) |