Mercurial > libervia-backend
diff sat/plugins/plugin_exp_parrot.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 | 003b8b4b56a7 |
line wrap: on
line diff
--- a/sat/plugins/plugin_exp_parrot.py Wed Jun 27 07:51:29 2018 +0200 +++ b/sat/plugins/plugin_exp_parrot.py Wed Jun 27 20:14:46 2018 +0200 @@ -20,11 +20,13 @@ from sat.core.i18n import _ from sat.core.constants import Const as C from sat.core.log import getLogger + log = getLogger(__name__) from twisted.words.protocols.jabber import jid from sat.core.exceptions import UnknownEntityError -#from sat.tools import trigger + +# from sat.tools import trigger PLUGIN_INFO = { C.PI_NAME: "Parrot Plugin", @@ -35,12 +37,15 @@ C.PI_RECOMMENDATIONS: [C.TEXT_CMDS], C.PI_MAIN: "Exp_Parrot", C.PI_HANDLER: "no", - C.PI_DESCRIPTION: _(u"""Implementation of parrot mode (repeat messages between 2 entities)""") + C.PI_DESCRIPTION: _( + u"""Implementation of parrot mode (repeat messages between 2 entities)""" + ), } class Exp_Parrot(object): """Parrot mode plugin: repeat messages from one entity or MUC room to another one""" + # XXX: This plugin can be potentially dangerous if we don't trust entities linked # this is specially true if we have other triggers. # sendMessageTrigger avoid other triggers execution, it's deactivated to allow @@ -51,13 +56,13 @@ log.info(_("Plugin Parrot initialization")) self.host = host host.trigger.add("MessageReceived", self.MessageReceivedTrigger, priority=100) - #host.trigger.add("sendMessage", self.sendMessageTrigger, priority=100) + # host.trigger.add("sendMessage", self.sendMessageTrigger, priority=100) try: self.host.plugins[C.TEXT_CMDS].registerTextCommands(self) except KeyError: log.info(_(u"Text commands not available")) - #def sendMessageTrigger(self, client, mess_data, treatments): + # def sendMessageTrigger(self, client, mess_data, treatments): # """ Deactivate other triggers if recipient is in parrot links """ # try: # _links = client.parrot_links @@ -84,18 +89,22 @@ return True message = {} - for e in message_elt.elements(C.NS_CLIENT, 'body'): + for e in message_elt.elements(C.NS_CLIENT, "body"): body = unicode(e) - lang = e.getAttribute('lang') or '' + lang = e.getAttribute("lang") or "" try: - entity_type = self.host.memory.getEntityData(from_jid, ['type'], profile)["type"] + entity_type = self.host.memory.getEntityData(from_jid, ["type"], profile)[ + "type" + ] except (UnknownEntityError, KeyError): entity_type = "contact" - if entity_type == 'chatroom': + if entity_type == "chatroom": src_txt = from_jid.resource - if src_txt == self.host.plugins["XEP-0045"].getRoomNick(client, from_jid.userhostJID()): - #we won't repeat our own messages + if src_txt == self.host.plugins["XEP-0045"].getRoomNick( + client, from_jid.userhostJID() + ): + # we won't repeat our own messages return True else: src_txt = from_jid.user @@ -103,7 +112,9 @@ linked = _links[from_jid.userhostJID()] - client.sendMessage(jid.JID(unicode(linked)), message, None, "auto", no_trigger=True) + client.sendMessage( + jid.JID(unicode(linked)), message, None, "auto", no_trigger=True + ) return True @@ -119,7 +130,10 @@ _links = client.parrot_links = {} _links[source_jid.userhostJID()] = dest_jid - log.info(u"Parrot mode: %s will be repeated to %s" % (source_jid.userhost(), unicode(dest_jid))) + log.info( + u"Parrot mode: %s will be repeated to %s" + % (source_jid.userhost(), unicode(dest_jid)) + ) def removeParrot(self, client, source_jid): """Remove parrot link @@ -141,15 +155,21 @@ if not link_left_jid.user or not link_left_jid.host: raise jid.InvalidFormat except (RuntimeError, jid.InvalidFormat, AttributeError): - txt_cmd.feedBack(client, "Can't activate Parrot mode for invalid jid", mess_data) + txt_cmd.feedBack( + client, "Can't activate Parrot mode for invalid jid", mess_data + ) return False - link_right_jid = mess_data['to'] + link_right_jid = mess_data["to"] self.addParrot(client, link_left_jid, link_right_jid) self.addParrot(client, link_right_jid, link_left_jid) - txt_cmd.feedBack(client, "Parrot mode activated for {}".format(unicode(link_left_jid)), mess_data) + txt_cmd.feedBack( + client, + "Parrot mode activated for {}".format(unicode(link_left_jid)), + mess_data, + ) return False @@ -163,14 +183,22 @@ if not link_left_jid.user or not link_left_jid.host: raise jid.InvalidFormat except jid.InvalidFormat: - txt_cmd.feedBack(client, u"Can't deactivate Parrot mode for invalid jid", mess_data) + txt_cmd.feedBack( + client, u"Can't deactivate Parrot mode for invalid jid", mess_data + ) return False - link_right_jid = mess_data['to'] + link_right_jid = mess_data["to"] self.removeParrot(client, link_left_jid) self.removeParrot(client, link_right_jid) - txt_cmd.feedBack(client, u"Parrot mode deactivated for {} and {}".format(unicode(link_left_jid), unicode(link_right_jid)), mess_data) + txt_cmd.feedBack( + client, + u"Parrot mode deactivated for {} and {}".format( + unicode(link_left_jid), unicode(link_right_jid) + ), + mess_data, + ) return False