Mercurial > libervia-backend
diff sat/plugins/plugin_xep_0334.py @ 2624:56f94936df1e
code style reformatting using black
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 27 Jun 2018 20:14:46 +0200 |
parents | 26edcf3a30eb |
children | baccc27d5c5c |
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0334.py Wed Jun 27 07:51:29 2018 +0200 +++ b/sat/plugins/plugin_xep_0334.py Wed Jun 27 20:14:46 2018 +0200 @@ -20,12 +20,14 @@ from sat.core.i18n import _, D_ from sat.core.log import getLogger + log = getLogger(__name__) from sat.core.constants import Const as C from sat.tools.common import data_format from wokkel import disco, iwokkel + try: from twisted.words.protocols.xmlstream import XMPPHandler except ImportError: @@ -42,21 +44,24 @@ C.PI_MAIN: "XEP_0334", C.PI_HANDLER: u"yes", C.PI_DESCRIPTION: D_(u"""Implementation of Message Processing Hints"""), - C.PI_USAGE: dedent(D_(u"""\ + C.PI_USAGE: dedent( + D_( + u"""\ Frontends can use HINT_* constants in mess_data['extra'] in a serialized 'hints' dict. Internal plugins can use directly addHint([HINT_* constant]). - Will set mess_data['extra']['history'] to 'skipped' when no store is requested and message is not saved in history.""")) - + Will set mess_data['extra']['history'] to 'skipped' when no store is requested and message is not saved in history.""" + ) + ), } -NS_HINTS = u'urn:xmpp:hints' +NS_HINTS = u"urn:xmpp:hints" class XEP_0334(object): - HINT_NO_PERMANENT_STORE = u'no-permanent-store' - HINT_NO_STORE = u'no-store' - HINT_NO_COPY = u'no-copy' - HINT_STORE = u'store' + HINT_NO_PERMANENT_STORE = u"no-permanent-store" + HINT_NO_STORE = u"no-store" + HINT_NO_COPY = u"no-copy" + HINT_STORE = u"store" HINTS = (HINT_NO_PERMANENT_STORE, HINT_NO_STORE, HINT_NO_COPY, HINT_STORE) def __init__(self, host): @@ -69,38 +74,45 @@ return XEP_0334_handler() def addHint(self, mess_data, hint): - if hint == self.HINT_NO_COPY and not mess_data['to'].resource: - log.error(u"{hint} can only be used with full jids! Ignoring it.".format(hint=hint)) + if hint == self.HINT_NO_COPY and not mess_data["to"].resource: + log.error( + u"{hint} can only be used with full jids! Ignoring it.".format(hint=hint) + ) return - hints = mess_data.setdefault('hints', set()) + hints = mess_data.setdefault("hints", set()) if hint in self.HINTS: hints.add(hint) else: log.error(u"Unknown hint: {}".format(hint)) def _sendPostXmlTreatment(self, mess_data): - if 'hints' in mess_data: - for hint in mess_data['hints']: - mess_data[u'xml'].addElement((NS_HINTS, hint)) + if "hints" in mess_data: + for hint in mess_data["hints"]: + mess_data[u"xml"].addElement((NS_HINTS, hint)) return mess_data - def sendMessageTrigger(self, client, mess_data, pre_xml_treatments, post_xml_treatments): + def sendMessageTrigger( + self, client, mess_data, pre_xml_treatments, post_xml_treatments + ): """Add the hints element to the message to be sent""" - if u'hints' in mess_data[u'extra']: - for hint in data_format.dict2iter(u'hints', mess_data[u'extra'], pop=True): + if u"hints" in mess_data[u"extra"]: + for hint in data_format.dict2iter(u"hints", mess_data[u"extra"], pop=True): self.addHint(hint) post_xml_treatments.addCallback(self._sendPostXmlTreatment) return True def _receivedSkipHistory(self, mess_data): - mess_data[u'history'] = C.HISTORY_SKIP + mess_data[u"history"] = C.HISTORY_SKIP return mess_data def messageReceivedTrigger(self, client, message_elt, post_treat): """Check for hints in the received message""" for elt in message_elt.elements(): - if elt.uri == NS_HINTS and elt.name in (self.HINT_NO_PERMANENT_STORE, self.HINT_NO_STORE): + if elt.uri == NS_HINTS and elt.name in ( + self.HINT_NO_PERMANENT_STORE, + self.HINT_NO_STORE, + ): log.debug(u"history will be skipped for this message, as requested") post_treat.addCallback(self._receivedSkipHistory) break @@ -110,8 +122,8 @@ class XEP_0334_handler(XMPPHandler): implements(iwokkel.IDisco) - def getDiscoInfo(self, requestor, target, nodeIdentifier=''): + def getDiscoInfo(self, requestor, target, nodeIdentifier=""): return [disco.DiscoFeature(NS_HINTS)] - def getDiscoItems(self, requestor, target, nodeIdentifier=''): + def getDiscoItems(self, requestor, target, nodeIdentifier=""): return []