source:
ralphm-patches/compat-pre-twisted-8.0.0.patch
@
7:0fbac5c2e97d
Last change on this file since 7:0fbac5c2e97d was 7:0fbac5c2e97d, checked in by Ralph Meijer <ralphm@…>, 13 years ago | |
---|---|
File size: 7.5 KB |
-
wokkel/compat.py
diff -r 84ffc75012b4 wokkel/compat.py
a b 7 7 from twisted.words.protocols.jabber import xmlstream 8 8 from twisted.words.xish import domish 9 9 10 def toResponse(stanza, stanzaType=None):11 """12 Create a response stanza from another stanza.13 14 This takes the addressing and id attributes from a stanza to create a (new,15 empty) response stanza. The addressing attributes are swapped and the id16 copied. Optionally, the stanza type of the response can be specified.17 18 @param stanza: the original stanza19 @type stanza: L{domish.Element}20 @param stanzaType: optional response stanza type21 @type stanzaType: C{str}22 @return: the response stanza.23 @rtype: L{domish.Element}24 """25 26 toAddr = stanza.getAttribute('from')27 fromAddr = stanza.getAttribute('to')28 stanzaID = stanza.getAttribute('id')29 30 response = domish.Element((None, stanza.name))31 if toAddr:32 response['to'] = toAddr33 if fromAddr:34 response['from'] = fromAddr35 if stanzaID:36 response['id'] = stanzaID37 if stanzaType:38 response['type'] = stanzaType39 40 return response41 42 43 44 10 class BootstrapMixin(object): 45 11 """ 46 12 XmlStream factory mixin to install bootstrap event observers. -
wokkel/subprotocols.py
diff -r 84ffc75012b4 wokkel/subprotocols.py
a b 1 1 # -*- test-case-name: wokkel.test.test_subprotocols -*- 2 2 # 3 # Copyright (c) 2001-200 7Twisted Matrix Laboratories.3 # Copyright (c) 2001-2009 Twisted Matrix Laboratories. 4 4 # See LICENSE for details. 5 5 6 6 """ … … 12 12 from twisted.internet import defer 13 13 from twisted.python import log 14 14 from twisted.words.protocols.jabber import error, xmlstream 15 from twisted.words.protocols.jabber.xmlstream import toResponse 15 16 from twisted.words.xish import xpath 16 17 from twisted.words.xish.domish import IElement 17 18 18 try:19 from twisted.words.protocols.jabber.xmlstream import toResponse20 except ImportError:21 from wokkel.compat import toResponse22 23 19 from wokkel.iwokkel import IXMPPHandler, IXMPPHandlerCollection 24 20 25 21 class XMPPHandler(object): -
wokkel/test/test_compat.py
diff -r 84ffc75012b4 wokkel/test/test_compat.py
a b 1 # Copyright (c) 2001-200 7Twisted Matrix Laboratories.2 # Copyright (c) 2008 Ralph Meijer1 # Copyright (c) 2001-2008 Twisted Matrix Laboratories. 2 # Copyright (c) 2008-2009 Ralph Meijer 3 3 # See LICENSE for details. 4 4 5 5 """ … … 12 12 from twisted.trial import unittest 13 13 from twisted.words.xish import domish, utility 14 14 from twisted.words.protocols.jabber import xmlstream 15 from wokkel.compat import toResponse,BootstrapMixin, XmlStreamServerFactory15 from wokkel.compat import BootstrapMixin, XmlStreamServerFactory 16 16 17 17 class DummyProtocol(protocol.Protocol, utility.EventDispatcher): 18 18 """ … … 80 80 81 81 82 82 83 class ToResponseTest(unittest.TestCase):84 85 def test_toResponse(self):86 """87 Test that a response stanza is generated with addressing swapped.88 """89 stanza = domish.Element(('jabber:client', 'iq'))90 stanza['type'] = 'get'91 stanza['to'] = 'user1@example.com'92 stanza['from'] = 'user2@example.com/resource'93 stanza['id'] = 'stanza1'94 response = toResponse(stanza, 'result')95 self.assertNotIdentical(stanza, response)96 self.assertEqual(response['from'], 'user1@example.com')97 self.assertEqual(response['to'], 'user2@example.com/resource')98 self.assertEqual(response['type'], 'result')99 self.assertEqual(response['id'], 'stanza1')100 101 def test_toResponseNoFrom(self):102 """103 Test that a response is generated from a stanza without a from address.104 """105 stanza = domish.Element(('jabber:client', 'iq'))106 stanza['type'] = 'get'107 stanza['to'] = 'user1@example.com'108 response = toResponse(stanza)109 self.assertEqual(response['from'], 'user1@example.com')110 self.failIf(response.hasAttribute('to'))111 112 def test_toResponseNoTo(self):113 """114 Test that a response is generated from a stanza without a to address.115 """116 stanza = domish.Element(('jabber:client', 'iq'))117 stanza['type'] = 'get'118 stanza['from'] = 'user2@example.com/resource'119 response = toResponse(stanza)120 self.failIf(response.hasAttribute('from'))121 self.assertEqual(response['to'], 'user2@example.com/resource')122 123 def test_toResponseNoAddressing(self):124 """125 Test that a response is generated from a stanza without any addressing.126 """127 stanza = domish.Element(('jabber:client', 'message'))128 stanza['type'] = 'chat'129 response = toResponse(stanza)130 self.failIf(response.hasAttribute('to'))131 self.failIf(response.hasAttribute('from'))132 133 def test_noID(self):134 """135 Test that a proper response is generated without id attribute.136 """137 stanza = domish.Element(('jabber:client', 'message'))138 response = toResponse(stanza)139 self.failIf(response.hasAttribute('id'))140 141 142 def test_noType(self):143 """144 Test that a proper response is generated without type attribute.145 """146 stanza = domish.Element(('jabber:client', 'message'))147 response = toResponse(stanza)148 self.failIf(response.hasAttribute('type'))149 150 151 152 83 class XmlStreamServerFactoryTest(BootstrapMixinTest): 153 84 """ 154 85 Tests for L{XmlStreamServerFactory}. -
wokkel/test/test_disco.py
diff -r 84ffc75012b4 wokkel/test/test_disco.py
a b 10 10 from twisted.internet import defer 11 11 from twisted.trial import unittest 12 12 from twisted.words.protocols.jabber.jid import JID 13 from twisted.words.protocols.jabber.xmlstream import toResponse 13 14 from twisted.words.xish import domish 14 15 15 16 from wokkel import data_form, disco … … 17 18 from wokkel.subprotocols import XMPPHandler 18 19 from wokkel.test.helpers import TestableRequestHandlerMixin, XmlStreamStub 19 20 20 try:21 from twisted.words.protocols.jabber.xmlstream import toResponse22 except ImportError:23 from wokkel.compat import toResponse24 25 21 NS_DISCO_INFO = 'http://jabber.org/protocol/disco#info' 26 22 NS_DISCO_ITEMS = 'http://jabber.org/protocol/disco#items' 27 23 -
wokkel/test/test_pubsub.py
diff -r 84ffc75012b4 wokkel/test/test_pubsub.py
a b 1 # Copyright (c) 2003-200 8Ralph Meijer1 # Copyright (c) 2003-2009 Ralph Meijer 2 2 # See LICENSE for details. 3 3 4 4 """ … … 12 12 from twisted.words.xish import domish 13 13 from twisted.words.protocols.jabber import error 14 14 from twisted.words.protocols.jabber.jid import JID 15 from twisted.words.protocols.jabber.xmlstream import toResponse 15 16 16 17 from wokkel import data_form, disco, iwokkel, pubsub, shim 17 18 from wokkel.test.helpers import TestableRequestHandlerMixin, XmlStreamStub 18 19 19 try:20 from twisted.words.protocols.jabber.xmlstream import toResponse21 except ImportError:22 from wokkel.compat import toResponse23 24 20 NS_PUBSUB = 'http://jabber.org/protocol/pubsub' 25 21 NS_PUBSUB_CONFIG = 'http://jabber.org/protocol/pubsub#node_config' 26 22 NS_PUBSUB_ERRORS = 'http://jabber.org/protocol/pubsub#errors'
Note: See TracBrowser
for help on using the repository browser.