Update carbons plugin to use latest spec.

This commit is contained in:
Lance Stout 2012-10-10 10:48:30 -07:00
parent 4ea328b9f2
commit 4dd2c15775
2 changed files with 18 additions and 13 deletions

View File

@ -47,13 +47,18 @@ class XEP_0280(BasePlugin):
register_stanza_plugin(Iq, stanza.CarbonEnable) register_stanza_plugin(Iq, stanza.CarbonEnable)
register_stanza_plugin(Iq, stanza.CarbonDisable) register_stanza_plugin(Iq, stanza.CarbonDisable)
register_stanza_plugin(stanza.ReceivedCarbon,
self.xmpp['xep_0297'].stanza.Forwarded)
register_stanza_plugin(stanza.SentCarbon,
self.xmpp['xep_0297'].stanza.Forwarded)
def plugin_end(self): def plugin_end(self):
self.xmpp.remove_handler('Carbon Received') self.xmpp.remove_handler('Carbon Received')
self.xmpp.remove_handler('Carbon Sent') self.xmpp.remove_handler('Carbon Sent')
self.xmpp.plugin['xep_0030'].del_feature(feature='urn:xmpp:carbons:1') self.xmpp.plugin['xep_0030'].del_feature(feature='urn:xmpp:carbons:2')
def session_bind(self, jid): def session_bind(self, jid):
self.xmpp.plugin['xep_0030'].add_feature('urn:xmpp:carbons:1') self.xmpp.plugin['xep_0030'].add_feature('urn:xmpp:carbons:2')
def _handle_carbon_received(self, msg): def _handle_carbon_received(self, msg):
self.xmpp.event('carbon_received', msg) self.xmpp.event('carbon_received', msg)

View File

@ -11,54 +11,54 @@ from sleekxmpp.xmlstream import ElementBase
class ReceivedCarbon(ElementBase): class ReceivedCarbon(ElementBase):
name = 'received' name = 'received'
namespace = 'urn:xmpp:carbons:1' namespace = 'urn:xmpp:carbons:2'
plugin_attrib = 'carbon_received' plugin_attrib = 'carbon_received'
interfaces = set(['carbon_received']) interfaces = set(['carbon_received'])
is_extension = True is_extension = True
def get_carbon_received(self): def get_carbon_received(self):
return self.parent()['forwarded']['stanza'] return self['forwarded']['stanza']
def del_carbon_received(self): def del_carbon_received(self):
del self.parent()['forwarded']['stanza'] del self['forwarded']['stanza']
def set_carbon_received(self, stanza): def set_carbon_received(self, stanza):
self.parent()['forwarded']['stanza'] = stanza self['forwarded']['stanza'] = stanza
class SentCarbon(ElementBase): class SentCarbon(ElementBase):
name = 'sent' name = 'sent'
namespace = 'urn:xmpp:carbons:1' namespace = 'urn:xmpp:carbons:2'
plugin_attrib = 'carbon_sent' plugin_attrib = 'carbon_sent'
interfaces = set(['carbon_sent']) interfaces = set(['carbon_sent'])
is_extension = True is_extension = True
def get_carbon_sent(self): def get_carbon_sent(self):
return self.parent()['forwarded']['stanza'] return self['forwarded']['stanza']
def del_carbon_sent(self): def del_carbon_sent(self):
del self.parent()['forwarded']['stanza'] del self['forwarded']['stanza']
def set_carbon_sent(self, stanza): def set_carbon_sent(self, stanza):
self.parent()['forwarded']['stanza'] = stanza self['forwarded']['stanza'] = stanza
class PrivateCarbon(ElementBase): class PrivateCarbon(ElementBase):
name = 'private' name = 'private'
namespace = 'urn:xmpp:carbons:1' namespace = 'urn:xmpp:carbons:2'
plugin_attrib = 'carbon_private' plugin_attrib = 'carbon_private'
interfaces = set() interfaces = set()
class CarbonEnable(ElementBase): class CarbonEnable(ElementBase):
name = 'enable' name = 'enable'
namespace = 'urn:xmpp:carbons:1' namespace = 'urn:xmpp:carbons:2'
plugin_attrib = 'carbon_enable' plugin_attrib = 'carbon_enable'
interfaces = set() interfaces = set()
class CarbonDisable(ElementBase): class CarbonDisable(ElementBase):
name = 'disable' name = 'disable'
namespace = 'urn:xmpp:carbons:1' namespace = 'urn:xmpp:carbons:2'
plugin_attrib = 'carbon_disable' plugin_attrib = 'carbon_disable'
interfaces = set() interfaces = set()