diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2014-08-17 21:53:34 +0200 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2014-09-01 02:47:15 +0200 |
commit | 17174016ec6603afe87a65282f9b7eb55f2eafeb (patch) | |
tree | 1e815d4ab942bf3b8ac932d3a1213b7a00659e26 /slixmpp/plugins/xep_0202 | |
parent | ed37174a2b40d2d90aa6a0c7f778108687d39602 (diff) | |
download | slixmpp-17174016ec6603afe87a65282f9b7eb55f2eafeb.tar.gz slixmpp-17174016ec6603afe87a65282f9b7eb55f2eafeb.tar.bz2 slixmpp-17174016ec6603afe87a65282f9b7eb55f2eafeb.tar.xz slixmpp-17174016ec6603afe87a65282f9b7eb55f2eafeb.zip |
Remove all trailing whitespaces.
Diffstat (limited to 'slixmpp/plugins/xep_0202')
-rw-r--r-- | slixmpp/plugins/xep_0202/time.py | 196 |
1 files changed, 98 insertions, 98 deletions
diff --git a/slixmpp/plugins/xep_0202/time.py b/slixmpp/plugins/xep_0202/time.py index 3b335e28..760ef26a 100644 --- a/slixmpp/plugins/xep_0202/time.py +++ b/slixmpp/plugins/xep_0202/time.py @@ -1,98 +1,98 @@ -"""
- Slixmpp: The Slick XMPP Library
- Copyright (C) 2010 Nathanael C. Fritz
- This file is part of Slixmpp.
-
- See the file LICENSE for copying permission.
-"""
-
-import logging
-
-from slixmpp.stanza.iq import Iq
-from slixmpp.xmlstream import register_stanza_plugin
-from slixmpp.xmlstream.handler import Callback
-from slixmpp.xmlstream.matcher import StanzaPath
-from slixmpp.plugins import BasePlugin
-from slixmpp.plugins import xep_0082
-from slixmpp.plugins.xep_0202 import stanza
-
-
-log = logging.getLogger(__name__)
-
-
-class XEP_0202(BasePlugin):
-
- """
- XEP-0202: Entity Time
- """
-
- name = 'xep_0202'
- description = 'XEP-0202: Entity Time'
- dependencies = set(['xep_0030', 'xep_0082'])
- stanza = stanza
- default_config = {
- #: As a default, respond to time requests with the
- #: local time returned by XEP-0082. However, a
- #: custom function can be supplied which accepts
- #: the JID of the entity to query for the time.
- 'local_time': None,
- 'tz_offset': 0
- }
-
- def plugin_init(self):
- """Start the XEP-0203 plugin."""
-
- if not self.local_time:
- def default_local_time(jid):
- return xep_0082.datetime(offset=self.tz_offset)
-
- self.local_time = default_local_time
-
- self.xmpp.register_handler(
- Callback('Entity Time',
- StanzaPath('iq/entity_time'),
- self._handle_time_request))
- register_stanza_plugin(Iq, stanza.EntityTime)
-
- def plugin_end(self):
- self.xmpp['xep_0030'].del_feature(feature='urn:xmpp:time')
- self.xmpp.remove_handler('Entity Time')
-
- def session_bind(self, jid):
- self.xmpp['xep_0030'].add_feature('urn:xmpp:time')
-
- def _handle_time_request(self, iq):
- """
- Respond to a request for the local time.
-
- The time is taken from self.local_time(), which may be replaced
- during plugin configuration with a function that maps JIDs to
- times.
-
- Arguments:
- iq -- The Iq time request stanza.
- """
- iq.reply()
- iq['entity_time']['time'] = self.local_time(iq['to'])
- iq.send()
-
- def get_entity_time(self, to, ifrom=None, **iqargs):
- """
- Request the time from another entity.
-
- Arguments:
- to -- JID of the entity to query.
- ifrom -- Specifiy the sender's JID.
- block -- If true, block and wait for the stanzas' reply.
- timeout -- The time in seconds to block while waiting for
- a reply. If None, then wait indefinitely.
- callback -- Optional callback to execute when a reply is
- received instead of blocking and waiting for
- the reply.
- """
- iq = self.xmpp.Iq()
- iq['type'] = 'get'
- iq['to'] = to
- iq['from'] = ifrom
- iq.enable('entity_time')
- return iq.send(**iqargs)
+""" + Slixmpp: The Slick XMPP Library + Copyright (C) 2010 Nathanael C. Fritz + This file is part of Slixmpp. + + See the file LICENSE for copying permission. +""" + +import logging + +from slixmpp.stanza.iq import Iq +from slixmpp.xmlstream import register_stanza_plugin +from slixmpp.xmlstream.handler import Callback +from slixmpp.xmlstream.matcher import StanzaPath +from slixmpp.plugins import BasePlugin +from slixmpp.plugins import xep_0082 +from slixmpp.plugins.xep_0202 import stanza + + +log = logging.getLogger(__name__) + + +class XEP_0202(BasePlugin): + + """ + XEP-0202: Entity Time + """ + + name = 'xep_0202' + description = 'XEP-0202: Entity Time' + dependencies = set(['xep_0030', 'xep_0082']) + stanza = stanza + default_config = { + #: As a default, respond to time requests with the + #: local time returned by XEP-0082. However, a + #: custom function can be supplied which accepts + #: the JID of the entity to query for the time. + 'local_time': None, + 'tz_offset': 0 + } + + def plugin_init(self): + """Start the XEP-0203 plugin.""" + + if not self.local_time: + def default_local_time(jid): + return xep_0082.datetime(offset=self.tz_offset) + + self.local_time = default_local_time + + self.xmpp.register_handler( + Callback('Entity Time', + StanzaPath('iq/entity_time'), + self._handle_time_request)) + register_stanza_plugin(Iq, stanza.EntityTime) + + def plugin_end(self): + self.xmpp['xep_0030'].del_feature(feature='urn:xmpp:time') + self.xmpp.remove_handler('Entity Time') + + def session_bind(self, jid): + self.xmpp['xep_0030'].add_feature('urn:xmpp:time') + + def _handle_time_request(self, iq): + """ + Respond to a request for the local time. + + The time is taken from self.local_time(), which may be replaced + during plugin configuration with a function that maps JIDs to + times. + + Arguments: + iq -- The Iq time request stanza. + """ + iq.reply() + iq['entity_time']['time'] = self.local_time(iq['to']) + iq.send() + + def get_entity_time(self, to, ifrom=None, **iqargs): + """ + Request the time from another entity. + + Arguments: + to -- JID of the entity to query. + ifrom -- Specifiy the sender's JID. + block -- If true, block and wait for the stanzas' reply. + timeout -- The time in seconds to block while waiting for + a reply. If None, then wait indefinitely. + callback -- Optional callback to execute when a reply is + received instead of blocking and waiting for + the reply. + """ + iq = self.xmpp.Iq() + iq['type'] = 'get' + iq['to'] = to + iq['from'] = ifrom + iq.enable('entity_time') + return iq.send(**iqargs) |