diff options
Diffstat (limited to 'sleekxmpp/plugins/xep_0107')
-rw-r--r-- | sleekxmpp/plugins/xep_0107/__init__.py | 16 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0107/stanza.py | 55 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0107/user_mood.py | 93 |
3 files changed, 0 insertions, 164 deletions
diff --git a/sleekxmpp/plugins/xep_0107/__init__.py b/sleekxmpp/plugins/xep_0107/__init__.py deleted file mode 100644 index 04302df8..00000000 --- a/sleekxmpp/plugins/xep_0107/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2012 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.xep_0107 import stanza -from sleekxmpp.plugins.xep_0107.stanza import UserMood -from sleekxmpp.plugins.xep_0107.user_mood import XEP_0107 - - -register_plugin(XEP_0107) diff --git a/sleekxmpp/plugins/xep_0107/stanza.py b/sleekxmpp/plugins/xep_0107/stanza.py deleted file mode 100644 index 2c5814ea..00000000 --- a/sleekxmpp/plugins/xep_0107/stanza.py +++ /dev/null @@ -1,55 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2012 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 UserMood(ElementBase): - - name = 'mood' - namespace = 'http://jabber.org/protocol/mood' - plugin_attrib = 'mood' - interfaces = set(['value', 'text']) - sub_interfaces = set(['text']) - moods = set(['afraid', 'amazed', 'amorous', 'angry', 'annoyed', 'anxious', - 'aroused', 'ashamed', 'bored', 'brave', 'calm', 'cautious', - 'cold', 'confident', 'confused', 'contemplative', 'contented', - 'cranky', 'crazy', 'creative', 'curious', 'dejected', - 'depressed', 'disappointed', 'disgusted', 'dismayed', - 'distracted', 'embarrassed', 'envious', 'excited', - 'flirtatious', 'frustrated', 'grateful', 'grieving', 'grumpy', - 'guilty', 'happy', 'hopeful', 'hot', 'humbled', 'humiliated', - 'hungry', 'hurt', 'impressed', 'in_awe', 'in_love', - 'indignant', 'interested', 'intoxicated', 'invincible', - 'jealous', 'lonely', 'lost', 'lucky', 'mean', 'moody', - 'nervous', 'neutral', 'offended', 'outraged', 'playful', - 'proud', 'relaxed', 'relieved', 'remorseful', 'restless', - 'sad', 'sarcastic', 'satisfied', 'serious', 'shocked', - 'shy', 'sick', 'sleepy', 'spontaneous', 'stressed', 'strong', - 'surprised', 'thankful', 'thirsty', 'tired', 'undefined', - 'weak', 'worried']) - - def set_value(self, value): - self.del_value() - if value in self.moods: - self._set_sub_text(value, '', keep=True) - else: - raise ValueError('Unknown mood value') - - def get_value(self): - for child in self.xml: - if child.tag.startswith('{%s}' % self.namespace): - elem_name = child.tag.split('}')[-1] - if elem_name in self.moods: - return elem_name - return '' - - def del_value(self): - curr_value = self.get_value() - if curr_value: - self._set_sub_text(curr_value, '', keep=False) diff --git a/sleekxmpp/plugins/xep_0107/user_mood.py b/sleekxmpp/plugins/xep_0107/user_mood.py deleted file mode 100644 index 2d2f3551..00000000 --- a/sleekxmpp/plugins/xep_0107/user_mood.py +++ /dev/null @@ -1,93 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2011 Nathanael C. Fritz, Lance J.T. Stout - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -import logging - -from sleekxmpp import Message -from sleekxmpp.xmlstream import register_stanza_plugin -from sleekxmpp.xmlstream.handler import Callback -from sleekxmpp.xmlstream.matcher import MatchXPath -from sleekxmpp.plugins.base import BasePlugin -from sleekxmpp.plugins.xep_0107 import stanza, UserMood - - -log = logging.getLogger(__name__) - - -class XEP_0107(BasePlugin): - - """ - XEP-0107: User Mood - """ - - name = 'xep_0107' - description = 'XEP-0107: User Mood' - dependencies = set(['xep_0163']) - stanza = stanza - - def plugin_init(self): - register_stanza_plugin(Message, UserMood) - - def plugin_end(self): - self.xmpp['xep_0030'].del_feature(feature=UserMood.namespace) - self.xmpp['xep_0163'].remove_interest(UserMood.namespace) - - def session_bind(self, jid): - self.xmpp['xep_0163'].register_pep('user_mood', UserMood) - - def publish_mood(self, value=None, text=None, options=None, - ifrom=None, block=True, callback=None, timeout=None): - """ - Publish the user's current mood. - - Arguments: - value -- The name of the mood to publish. - text -- Optional natural-language description or reason - for the mood. - options -- Optional form of publish options. - ifrom -- Specify the sender's JID. - block -- Specify if the send call will block until a response - is received, or a timeout occurs. Defaults to True. - timeout -- The length of time (in seconds) to wait for a response - before exiting the send call if blocking is used. - Defaults to sleekxmpp.xmlstream.RESPONSE_TIMEOUT - callback -- Optional reference to a stream handler function. Will - be executed when a reply stanza is received. - """ - mood = UserMood() - mood['value'] = value - mood['text'] = text - return self.xmpp['xep_0163'].publish(mood, - node=UserMood.namespace, - options=options, - ifrom=ifrom, - block=block, - callback=callback, - timeout=timeout) - - def stop(self, ifrom=None, block=True, callback=None, timeout=None): - """ - Clear existing user mood information to stop notifications. - - Arguments: - ifrom -- Specify the sender's JID. - block -- Specify if the send call will block until a response - is received, or a timeout occurs. Defaults to True. - timeout -- The length of time (in seconds) to wait for a response - before exiting the send call if blocking is used. - Defaults to sleekxmpp.xmlstream.RESPONSE_TIMEOUT - callback -- Optional reference to a stream handler function. Will - be executed when a reply stanza is received. - """ - mood = UserMood() - return self.xmpp['xep_0163'].publish(mood, - node=UserMood.namespace, - ifrom=ifrom, - block=block, - callback=callback, - timeout=timeout) |