From ce4fddd82c5d8f1ee1ed3e919e0e7e8b2c689fd1 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Fri, 18 Apr 2014 15:04:01 +0200 Subject: [PATCH] caffouillage de regex : on pouvait pas quoter une place sans mettre le quoter --- config.py | 4 ++-- parrot.py | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index fce38cb..036a465 100644 --- a/config.py +++ b/config.py @@ -126,10 +126,10 @@ helpmsg_overops = u" SAY DO STAY NOSTAY OPS OVEROPS KICK DIE CRASH RESTORE" blacklisted_masks = [("Flo!*@*", [])] #: Regexp pour le lieu et le quoter -quote_optionnal_fields = ur"\|\s*(?P[^|]+?)?\s*\|\s*(?P[^|]+?)?\s*" +quote_optionnal_fields = ur"(?:(?:\|\s*(?P[^|]+?)\s*)?\|\s*(?P[^|]+?)?\s*)?" #: Regexp utilisée pour parser des quotes -quote_regexp = ur"""\s*(?:"|«|')\s*(?P.+?)\s*(?:"|»|')\s*~\s*(?P[^|]+?)\s*(?:%s)?(?:$|\n)""" % (quote_optionnal_fields,) +quote_regexp = ur"""\s*(?:"|«|')\s*(?P.+?)\s*(?:"|»|')\s*~\s*(?P[^|]+?)\s*%s(?:$|\n)""" % (quote_optionnal_fields,) #: Regexp utlisée pour parser une quote avec timestamp quote_regexp_with_timestamp = ur"(?P.{19}) " + quote_regexp diff --git a/parrot.py b/parrot.py index 0cd5be9..dd50530 100755 --- a/parrot.py +++ b/parrot.py @@ -87,6 +87,9 @@ class Parrot(ircbot.SingleServerIRCBot): self.quotedb = quotes.QuoteDB() self.reload_quotes() + + # Pour agir à la réception des whois 307 = registered nick + self.ircobj.add_global_handler("307", self.on_registered_nick) ### Utilitaires @@ -506,6 +509,12 @@ class Parrot(ircbot.SingleServerIRCBot): time.sleep(2) serv.join(channel) + def on_registered_nick(self, serv, ev): + """À la réception d'un résultat de whois.""" + pseudo, regis = ev.arguments() + if regis == 'is a registered nick': + print "%s est enregistré \o/" % pseudo + ### .fork trick def start_as_daemon(self, outfile): sys.stderr = Logger(outfile) -- 2.39.2