diff sat_tmp/wokkel/pubsub.py @ 69:0721b6254c9e

python 3 port: - applied 2to3 - replaced zope's implements by @implementer decorator - replaced references to python2 by python3
author Goffi <goffi@goffi.org>
date Tue, 13 Aug 2019 18:58:11 +0200
parents 0bb020e9fd47
children ab556b1c2ca4
line wrap: on
line diff
--- a/sat_tmp/wokkel/pubsub.py	Tue Aug 13 18:58:08 2019 +0200
+++ b/sat_tmp/wokkel/pubsub.py	Tue Aug 13 18:58:11 2019 +0200
@@ -56,7 +56,7 @@
 U{XEP-0060<http://xmpp.org/extensions/xep-0060.html>}.
 """
 
-from zope.interface import implements
+from zope.interface import implementer
 
 from twisted.internet import defer
 from twisted.python import log
@@ -81,7 +81,7 @@
 NS_PUBSUB_META_DATA = NS_PUBSUB + "#meta-data"
 NS_PUBSUB_SUBSCRIBE_OPTIONS = NS_PUBSUB + "#subscribe_options"
 
-NS_ORDER_BY = u"urn:xmpp:order-by:0"
+NS_ORDER_BY = "urn:xmpp:order-by:0"
 
 # XPath to match pubsub requests
 PUBSUB_REQUEST = '/iq[@type="get" or @type="set"]/' + \
@@ -198,7 +198,7 @@
         element = domish.Element((defaultUri, 'subscription'))
         if self.nodeIdentifier:
             element['node'] = self.nodeIdentifier
-        element['jid'] = unicode(self.subscriber)
+        element['jid'] = str(self.subscriber)
         element['subscription'] = self.state
         if self.subscriptionIdentifier:
             element['subid'] = self.subscriptionIdentifier
@@ -229,7 +229,7 @@
         if id is not None:
             self['id'] = id
         if payload is not None:
-            if isinstance(payload, basestring):
+            if isinstance(payload, str):
                 self.addRawXml(payload)
             else:
                 self.addChild(payload)
@@ -326,7 +326,7 @@
     }
 
     # Map request verb to request iq type and subelement name
-    _verbRequestMap = dict(((v, k) for k, v in _requestVerbMap.iteritems()))
+    _verbRequestMap = dict(((v, k) for k, v in _requestVerbMap.items()))
 
     # Map request verb to parameter handler names
     _parameters = {
@@ -463,7 +463,7 @@
             if form.formType in ('submit', 'cancel'):
                 self.options = form
             else:
-                raise BadRequest(text=u"Unexpected form type '%s'" % form.formType)
+                raise BadRequest(text="Unexpected form type '%s'" % form.formType)
         else:
             raise BadRequest(text="Missing configuration form")
 
@@ -477,7 +477,7 @@
                 form = data_form.findForm(element, NS_PUBSUB_NODE_CONFIG)
                 if form is not None:
                     if form.formType != 'submit':
-                        raise BadRequest(text=u"Unexpected form type '%s'" %
+                        raise BadRequest(text="Unexpected form type '%s'" %
                                               form.formType)
                 else:
                     form = data_form.Form('submit',
@@ -539,7 +539,7 @@
         Render maximum items into an items request.
         """
         if self.maxItems:
-            verbElement['max_items'] = unicode(self.maxItems)
+            verbElement['max_items'] = str(self.maxItems)
 
 
     def _parse_subidOrNone(self, verbElement):
@@ -566,7 +566,7 @@
             if form.formType in ('submit', 'cancel'):
                 self.options = form
             else:
-                raise BadRequest(text=u"Unexpected form type '%s'" % form.formType)
+                raise BadRequest(text="Unexpected form type '%s'" % form.formType)
         else:
             raise BadRequest(text="Missing options form")
 
@@ -582,7 +582,7 @@
                                           NS_PUBSUB_SUBSCRIBE_OPTIONS)
                 if form is not None:
                     if form.formType != 'submit':
-                        raise BadRequest(text=u"Unexpected form type '%s'" %
+                        raise BadRequest(text="Unexpected form type '%s'" %
                                               form.formType)
                 else:
                     form = data_form.Form('submit',
@@ -618,7 +618,7 @@
 
 
     def _render_affiliations(self, verbElement):
-        for entity, affiliation in self.affiliations.iteritems():
+        for entity, affiliation in self.affiliations.items():
             affiliationElement = verbElement.addElement((NS_PUBSUB_OWNER, 'affiliation'))
             affiliationElement['jid'] = entity.full()
             affiliationElement['affiliation'] = affiliation
@@ -815,11 +815,11 @@
 
 
 
+@implementer(IPubSubClient)
 class PubSubClient(XMPPHandler):
     """
     Publish subscribe client protocol.
     """
-    implements(IPubSubClient)
 
     _request_class = PubSubRequest
 
@@ -1181,6 +1181,7 @@
 
 
 
+@implementer(IPubSubService, disco.IDisco)
 class PubSubService(XMPPHandler, IQHandlerMixin):
     """
     Protocol implementation for a XMPP Publish Subscribe Service.
@@ -1209,7 +1210,6 @@
     @type pubSubFeatures: C{list} or C{None}
     """
 
-    implements(IPubSubService, disco.IDisco)
 
     iqHandlers = {
             '/*': '_onPubSubRequest',
@@ -1322,7 +1322,7 @@
         for node in nodes:
             if not node:
                 continue
-            elif isinstance(node, basestring):
+            elif isinstance(node, str):
                 items.append(disco.DiscoItem(target, node))
             else:
                 _node, name = node
@@ -1527,7 +1527,7 @@
         if request.nodeIdentifier:
             affiliations['node'] = request.nodeIdentifier
 
-        for entity, affiliation in result.iteritems():
+        for entity, affiliation in result.items():
             item = affiliations.addElement('affiliation')
             item['jid'] = entity.full()
             item['affiliation'] = affiliation
@@ -1649,9 +1649,9 @@
 
 
 
+@implementer(IPubSubResource)
 class PubSubResource(object):
 
-    implements(IPubSubResource)
 
     features = []
     discoIdentity = disco.DiscoIdentity('pubsub',