]> gitweb.pimeys.fr Git - bots/parrot.git/blobdiff - parrot.py
[unicode] kick reason
[bots/parrot.git] / parrot.py
index cf033b7d0d0a70448191fa30703ab18ff5751a2e..9d0927412e99cca6d6e4eaff98f3d602ebecffd0 100755 (executable)
--- a/parrot.py
+++ b/parrot.py
@@ -85,7 +85,8 @@ class Parrot(ircbot.SingleServerIRCBot):
         self.last_perdu = 0
         
         self.quotedb = quotes.QuoteDB()
-        self.quotedb.load()
+        self.reload_quotes()
+
     
     ### Utilitaires
     def _getnick(self):
@@ -122,10 +123,15 @@ class Parrot(ircbot.SingleServerIRCBot):
         quit_message = random.choice(config.quit_messages)
         self.die(msg=quit_message.encode("utf8"))
     
+    def reload_quotes(self):
+        """ Recharge la base de données des quotes et recompile la regexp de quote """
+        self.quotedb.load()
+        self.quote_pattern = re.compile(config.quote_regexp, flags=re.UNICODE)
+
     def execute_reload(self, auteur=None):
         """Recharge la config."""
         reload(config)
-        self.quotedb.load()
+        self.reload_quotes()
         if auteur in [None, "SIGHUP"]:
             towrite = "Config reloaded" + " (SIGHUP received)" * (auteur == "SIGHUP")
             for to in config.report_bugs_to:
@@ -439,7 +445,7 @@ class Parrot(ircbot.SingleServerIRCBot):
         victime = ev.arguments()[0]
         raison = ev.arguments()[1]
         if victime == self.nick:
-            log(self.serveur, u"%s kické de %s par %s (raison : %s)" % (victime, channel.decode("utf-8"), auteur, raison))
+            log(self.serveur, "%s kické de %s par %s (raison : %s)" % (victime, channel, auteur, raison))
             time.sleep(2)
             serv.join(channel)