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