summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0224
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/plugins/xep_0224')
-rw-r--r--sleekxmpp/plugins/xep_0224/__init__.py20
-rw-r--r--sleekxmpp/plugins/xep_0224/attention.py75
-rw-r--r--sleekxmpp/plugins/xep_0224/stanza.py40
3 files changed, 0 insertions, 135 deletions
diff --git a/sleekxmpp/plugins/xep_0224/__init__.py b/sleekxmpp/plugins/xep_0224/__init__.py
deleted file mode 100644
index 1a9d2342..00000000
--- a/sleekxmpp/plugins/xep_0224/__init__.py
+++ /dev/null
@@ -1,20 +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.
-"""
-
-from sleekxmpp.plugins.base import register_plugin
-
-from sleekxmpp.plugins.xep_0224 import stanza
-from sleekxmpp.plugins.xep_0224.stanza import Attention
-from sleekxmpp.plugins.xep_0224.attention import XEP_0224
-
-
-register_plugin(XEP_0224)
-
-
-# Retain some backwards compatibility
-xep_0224 = XEP_0224
diff --git a/sleekxmpp/plugins/xep_0224/attention.py b/sleekxmpp/plugins/xep_0224/attention.py
deleted file mode 100644
index 4e560604..00000000
--- a/sleekxmpp/plugins/xep_0224/attention.py
+++ /dev/null
@@ -1,75 +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.stanza import Message
-from sleekxmpp.xmlstream import register_stanza_plugin
-from sleekxmpp.xmlstream.handler import Callback
-from sleekxmpp.xmlstream.matcher import StanzaPath
-from sleekxmpp.plugins import BasePlugin
-from sleekxmpp.plugins.xep_0224 import stanza
-
-
-log = logging.getLogger(__name__)
-
-
-class XEP_0224(BasePlugin):
-
- """
- XEP-0224: Attention
- """
-
- name = 'xep_0224'
- description = 'XEP-0224: Attention'
- dependencies = set(['xep_0030'])
- stanza = stanza
-
- def plugin_init(self):
- """Start the XEP-0224 plugin."""
- register_stanza_plugin(Message, stanza.Attention)
-
- self.xmpp.register_handler(
- Callback('Attention',
- StanzaPath('message/attention'),
- self._handle_attention))
-
- def plugin_end(self):
- self.xmpp['xep_0030'].del_feature(feature=stanza.Attention.namespace)
- self.xmpp.remove_handler('Attention')
-
- def session_bind(self, jid):
- self.xmpp['xep_0030'].add_feature(stanza.Attention.namespace)
-
- def request_attention(self, to, mfrom=None, mbody=''):
- """
- Send an attention message with an optional body.
-
- Arguments:
- to -- The attention request recipient's JID.
- mfrom -- Optionally specify the sender of the attention request.
- mbody -- An optional message body to include in the request.
- """
- m = self.xmpp.Message()
- m['to'] = to
- m['type'] = 'headline'
- m['attention'] = True
- if mfrom:
- m['from'] = mfrom
- m['body'] = mbody
- m.send()
-
- def _handle_attention(self, msg):
- """
- Raise an event after receiving a message with an attention request.
-
- Arguments:
- msg -- A message stanza with an attention element.
- """
- log.debug("Received attention request from: %s", msg['from'])
- self.xmpp.event('attention', msg)
diff --git a/sleekxmpp/plugins/xep_0224/stanza.py b/sleekxmpp/plugins/xep_0224/stanza.py
deleted file mode 100644
index f15172d9..00000000
--- a/sleekxmpp/plugins/xep_0224/stanza.py
+++ /dev/null
@@ -1,40 +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.
-"""
-
-from sleekxmpp.xmlstream import ElementBase, ET
-
-
-class Attention(ElementBase):
-
- """
- """
-
- name = 'attention'
- namespace = 'urn:xmpp:attention:0'
- plugin_attrib = 'attention'
- interfaces = set(('attention',))
- is_extension = True
-
- def setup(self, xml):
- return True
-
- def set_attention(self, value):
- if value:
- xml = ET.Element(self.tag_name())
- self.parent().xml.append(xml)
- else:
- self.del_attention()
-
- def get_attention(self):
- xml = self.parent().xml.find(self.tag_name())
- return xml is not None
-
- def del_attention(self):
- xml = self.parent().xml.find(self.tag_name())
- if xml is not None:
- self.parent().xml.remove(xml)