f.write((chain + u"\n").encode("utf-8"))
f.close()
if config.debug_stdout:
- print chain
+ print chain.encode("utf-8")
def ignore_event(serv, ev):
"""Retourne ``True`` si il faut ignorer cet évènement."""
- for (blackmask, exceptmask) in config.blacklisted_masks:
+ for (blackmask, exceptlist) in config.blacklisted_masks:
usermask = ev.source()
- if exceptmask is None:
- exceptit = False
- else:
- exceptit = bool(irclib.mask_matches(usermask, exceptmask))
blackit = bool(irclib.mask_matches(usermask, blackmask))
- return blackit and not exceptit
+ exceptit = any([bool(irclib.mask_matches(usermask, exceptmask)) for exceptmask in exceptlist])
+ if exceptit: # Il est exempté
+ return False
+ else:
+ if blackit: # Il n'est pas exempté et matche la blacklist
+ return True
def regex_join(liste, avant=u".*(?:^| )", apres=u"(?:$|\.| |,|;).*"):
"""Fabrique une regexp à partir d'une liste d'éléments à matcher."""
def on_privmsg(self, serv, ev):
"""À la réception d'un message en privé."""
+ if ignore_event(serv, ev):
+ return
message = ev.arguments()[0]
auteur = irclib.nm_to_n(ev.source())
try:
def on_pubmsg(self, serv, ev):
"""À la réception d'un message sur un channel."""
+ if ignore_event(serv, ev):
+ return
auteur = irclib.nm_to_n(ev.source())
canal = ev.target()
message = ev.arguments()[0]
def on_action(self, serv, ev):
"""À la réception d'une action."""
+ if ignore_event(serv, ev):
+ return
action = ev.arguments()[0]
auteur = irclib.nm_to_n(ev.source())
channel = ev.target()