From 4dd2c15775735b6cfe177a1d801c20bc4140a5c4 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Wed, 10 Oct 2012 10:48:30 -0700 Subject: [PATCH] Update carbons plugin to use latest spec. --- sleekxmpp/plugins/xep_0280/carbons.py | 9 +++++++-- sleekxmpp/plugins/xep_0280/stanza.py | 22 +++++++++++----------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/sleekxmpp/plugins/xep_0280/carbons.py b/sleekxmpp/plugins/xep_0280/carbons.py index fe2cdbb2..482d046a 100644 --- a/sleekxmpp/plugins/xep_0280/carbons.py +++ b/sleekxmpp/plugins/xep_0280/carbons.py @@ -47,13 +47,18 @@ class XEP_0280(BasePlugin): register_stanza_plugin(Iq, stanza.CarbonEnable) 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): self.xmpp.remove_handler('Carbon Received') 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): - 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): self.xmpp.event('carbon_received', msg) diff --git a/sleekxmpp/plugins/xep_0280/stanza.py b/sleekxmpp/plugins/xep_0280/stanza.py index 94b37823..2f3aad86 100644 --- a/sleekxmpp/plugins/xep_0280/stanza.py +++ b/sleekxmpp/plugins/xep_0280/stanza.py @@ -11,54 +11,54 @@ from sleekxmpp.xmlstream import ElementBase class ReceivedCarbon(ElementBase): name = 'received' - namespace = 'urn:xmpp:carbons:1' + namespace = 'urn:xmpp:carbons:2' plugin_attrib = 'carbon_received' interfaces = set(['carbon_received']) is_extension = True def get_carbon_received(self): - return self.parent()['forwarded']['stanza'] + return self['forwarded']['stanza'] def del_carbon_received(self): - del self.parent()['forwarded']['stanza'] + del self['forwarded']['stanza'] def set_carbon_received(self, stanza): - self.parent()['forwarded']['stanza'] = stanza + self['forwarded']['stanza'] = stanza class SentCarbon(ElementBase): name = 'sent' - namespace = 'urn:xmpp:carbons:1' + namespace = 'urn:xmpp:carbons:2' plugin_attrib = 'carbon_sent' interfaces = set(['carbon_sent']) is_extension = True def get_carbon_sent(self): - return self.parent()['forwarded']['stanza'] + return self['forwarded']['stanza'] def del_carbon_sent(self): - del self.parent()['forwarded']['stanza'] + del self['forwarded']['stanza'] def set_carbon_sent(self, stanza): - self.parent()['forwarded']['stanza'] = stanza + self['forwarded']['stanza'] = stanza class PrivateCarbon(ElementBase): name = 'private' - namespace = 'urn:xmpp:carbons:1' + namespace = 'urn:xmpp:carbons:2' plugin_attrib = 'carbon_private' interfaces = set() class CarbonEnable(ElementBase): name = 'enable' - namespace = 'urn:xmpp:carbons:1' + namespace = 'urn:xmpp:carbons:2' plugin_attrib = 'carbon_enable' interfaces = set() class CarbonDisable(ElementBase): name = 'disable' - namespace = 'urn:xmpp:carbons:1' + namespace = 'urn:xmpp:carbons:2' plugin_attrib = 'carbon_disable' interfaces = set()