Mercurial > sat_tmp
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: