summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0060/stanza/pubsub_event.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/plugins/xep_0060/stanza/pubsub_event.py')
-rw-r--r--sleekxmpp/plugins/xep_0060/stanza/pubsub_event.py151
1 files changed, 0 insertions, 151 deletions
diff --git a/sleekxmpp/plugins/xep_0060/stanza/pubsub_event.py b/sleekxmpp/plugins/xep_0060/stanza/pubsub_event.py
deleted file mode 100644
index 32f217fa..00000000
--- a/sleekxmpp/plugins/xep_0060/stanza/pubsub_event.py
+++ /dev/null
@@ -1,151 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2011 Nathanael C. Fritz
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-import datetime as dt
-
-from sleekxmpp import Message
-from sleekxmpp.xmlstream import register_stanza_plugin, ElementBase, ET, JID
-from sleekxmpp.plugins.xep_0004 import Form
-from sleekxmpp.plugins import xep_0082
-
-
-class Event(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'event'
- plugin_attrib = 'pubsub_event'
- interfaces = set()
-
-
-class EventItem(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'item'
- plugin_attrib = name
- interfaces = set(('id', 'payload', 'node', 'publisher'))
-
- def set_payload(self, value):
- self.xml.append(value)
-
- def get_payload(self):
- childs = list(self.xml)
- if len(childs) > 0:
- return childs[0]
-
- def del_payload(self):
- for child in self.xml:
- self.xml.remove(child)
-
-
-class EventRetract(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'retract'
- plugin_attrib = name
- interfaces = set(('id',))
-
-
-class EventItems(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'items'
- plugin_attrib = name
- interfaces = set(('node',))
-
-
-class EventCollection(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'collection'
- plugin_attrib = name
- interfaces = set(('node',))
-
-
-class EventAssociate(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'associate'
- plugin_attrib = name
- interfaces = set(('node',))
-
-
-class EventDisassociate(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'disassociate'
- plugin_attrib = name
- interfaces = set(('node',))
-
-
-class EventConfiguration(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'configuration'
- plugin_attrib = name
- interfaces = set(('node',))
-
-
-class EventPurge(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'purge'
- plugin_attrib = name
- interfaces = set(('node',))
-
-
-class EventDelete(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'delete'
- plugin_attrib = name
- interfaces = set(('node', 'redirect'))
-
- def set_redirect(self, uri):
- del self['redirect']
- redirect = ET.Element('{%s}redirect' % self.namespace)
- redirect.attrib['uri'] = uri
- self.xml.append(redirect)
-
- def get_redirect(self):
- redirect = self.xml.find('{%s}redirect' % self.namespace)
- if redirect is not None:
- return redirect.attrib.get('uri', '')
- return ''
-
- def del_redirect(self):
- redirect = self.xml.find('{%s}redirect' % self.namespace)
- if redirect is not None:
- self.xml.remove(redirect)
-
-
-class EventSubscription(ElementBase):
- namespace = 'http://jabber.org/protocol/pubsub#event'
- name = 'subscription'
- plugin_attrib = name
- interfaces = set(('node', 'expiry', 'jid', 'subid', 'subscription'))
-
- def get_expiry(self):
- expiry = self._get_attr('expiry')
- if expiry.lower() == 'presence':
- return expiry
- return xep_0082.parse(expiry)
-
- def set_expiry(self, value):
- if isinstance(value, dt.datetime):
- value = xep_0082.format_datetime(value)
- self._set_attr('expiry', value)
-
- def set_jid(self, value):
- self._set_attr('jid', str(value))
-
- def get_jid(self):
- return JID(self._get_attr('jid'))
-
-
-register_stanza_plugin(Message, Event)
-register_stanza_plugin(Event, EventCollection)
-register_stanza_plugin(Event, EventConfiguration)
-register_stanza_plugin(Event, EventPurge)
-register_stanza_plugin(Event, EventDelete)
-register_stanza_plugin(Event, EventItems)
-register_stanza_plugin(Event, EventSubscription)
-register_stanza_plugin(EventCollection, EventAssociate)
-register_stanza_plugin(EventCollection, EventDisassociate)
-register_stanza_plugin(EventConfiguration, Form)
-register_stanza_plugin(EventItems, EventItem, iterable=True)
-register_stanza_plugin(EventItems, EventRetract, iterable=True)