diff sat_tmp/wokkel/mam.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 938c740d31fe
children
line wrap: on
line diff
--- a/sat_tmp/wokkel/mam.py	Tue Aug 13 18:58:08 2019 +0200
+++ b/sat_tmp/wokkel/mam.py	Tue Aug 13 18:58:11 2019 +0200
@@ -27,7 +27,7 @@
 
 from dateutil import tz
 
-from zope.interface import implements
+from zope.interface import implementer
 from zope.interface import Interface
 
 from twisted.words.protocols.jabber import xmlstream
@@ -42,11 +42,11 @@
 from wokkel import data_form
 from wokkel import delay
 
-import rsm
+from . import rsm
 
 NS_MAM = 'urn:xmpp:mam:2'
 NS_FORWARD = 'urn:xmpp:forward:0'
-NS_ORDER_BY = u"urn:xmpp:order-by:0"
+NS_ORDER_BY = "urn:xmpp:order-by:0"
 
 FIELDS_REQUEST = "/iq[@type='get']/query[@xmlns='%s']" % NS_MAM
 ARCHIVE_REQUEST = "/iq[@type='set']/query[@xmlns='%s']" % NS_MAM
@@ -125,7 +125,7 @@
         sender = jid.JID(iq.getAttribute('from'))
         recipient = jid.JID(iq.getAttribute('to'))
         try:
-            query = iq.elements(NS_MAM, 'query').next()
+            query = next(iq.elements(NS_MAM, 'query'))
         except StopIteration:
             raise MAMError("Can't find MAM <query/> in element")
         form = data_form.findForm(query, NS_MAM)
@@ -231,7 +231,7 @@
         for attr in ('always', 'never'):
             prefs[attr] = []
             try:
-                pref = prefs_elt.elements(NS_MAM, attr).next()
+                pref = next(prefs_elt.elements(NS_MAM, attr))
             except StopIteration:
                 # FIXME: return proper error here
                 raise MAMError('Element provided is not a valid MAM <prefs/> request')
@@ -296,7 +296,7 @@
         iq = xmlstream.IQ(self.xmlstream, 'set')
         mam_query.render(iq)
         if sender is not None:
-            iq['from'] = unicode(sender)
+            iq['from'] = str(sender)
         return iq.send(to=service.full() if service else None)
 
     def queryFields(self, service=None, sender=None):
@@ -315,9 +315,9 @@
         iq = xmlstream.IQ(self.xmlstream, 'get')
         MAMRequest().render(iq)
         if sender is not None:
-            iq['from'] = unicode(sender)
+            iq['from'] = str(sender)
         d = iq.send(to=service.full() if service else None)
-        d.addCallback(lambda iq_result: iq_result.elements(NS_MAM, 'query').next())
+        d.addCallback(lambda iq_result: next(iq_result.elements(NS_MAM, 'query')))
         d.addCallback(data_form.findForm, NS_MAM)
         return d
 
@@ -337,7 +337,7 @@
         iq = xmlstream.IQ(self.xmlstream, 'get')
         MAMPrefs().render(iq)
         if sender is not None:
-            iq['from'] = unicode(sender)
+            iq['from'] = str(sender)
         return iq.send(to=service.full() if service else None)
 
     def setPrefs(self, service=None, default='roster', always=None, never=None, sender=None):
@@ -366,7 +366,7 @@
         iq = xmlstream.IQ(self.xmlstream, 'set')
         MAMPrefs(default, always, never).render(iq)
         if sender is not None:
-            iq['from'] = unicode(sender)
+            iq['from'] = str(sender)
         return iq.send(to=service.full() if service else None)
 
 
@@ -419,13 +419,13 @@
         """
 
 
+@implementer(IMAMService, disco.IDisco)
 class MAMService(subprotocols.XMPPHandler, subprotocols.IQHandlerMixin):
     """
     Protocol implementation for a MAM service.
 
     This handler waits for XMPP Ping requests and sends a response.
     """
-    implements(IMAMService, disco.IDisco)
 
     _request_class = MAMRequest
 
@@ -505,7 +505,7 @@
         # remove unsupported filters
         unsupported_fields = []
         if mam_.form:
-            for key, field in mam_.form.fields.iteritems():
+            for key, field in mam_.form.fields.items():
                 if key not in self._mainFilters and key not in self.extra_fields:
                     log.msg('Ignored unsupported MAM filter: %s' % field)
                     unsupported_fields.append(key)
@@ -530,7 +530,7 @@
                 forwardMessage(*data)
 
             fin_elt = domish.Element((NS_MAM, 'fin'))
-            for key, value in attributes.items():
+            for key, value in list(attributes.items()):
                 fin_elt[key] = value
 
             if rsm_elt is not None:
@@ -620,7 +620,7 @@
     form = data_form.Form(formType, formNamespace=NS_MAM)
 
     if formType == 'form':
-        for kwargs in MAMService._mainFilters.values():
+        for kwargs in list(MAMService._mainFilters.values()):
             form.addField(data_form.Field(**kwargs))
     elif formType == 'submit':
         if start: