Already converted modules now use new Response class
This commit is contained in:
parent
5c5e0fbe8f
commit
637861b3ae
@ -6,8 +6,6 @@ from datetime import datetime
|
||||
|
||||
nemubotversion = 3.2
|
||||
|
||||
from xmlparser.node import ModuleState
|
||||
|
||||
CONTEXT = None
|
||||
|
||||
def load(context):
|
||||
@ -60,12 +58,10 @@ def get_variable(name, msg=None):
|
||||
def cmd_set(msg):
|
||||
if len (msg.cmd) > 2:
|
||||
set_variable(msg.cmd[1], " ".join(msg.cmd[2:]))
|
||||
msg.send_snd("Variable $%s définie." % msg.cmd[1])
|
||||
res = Response(msg.sender, "Variable $%s définie." % msg.cmd[1])
|
||||
save()
|
||||
return True
|
||||
else:
|
||||
msg.send_snd("!set prend au minimum deux arguments : le nom de la variable et sa valeur.")
|
||||
return False
|
||||
return res
|
||||
return Response(msg.sender, "!set prend au minimum deux arguments : le nom de la variable et sa valeur.")
|
||||
|
||||
|
||||
def treat_variables(msg):
|
||||
@ -89,18 +85,18 @@ def parseanswer(msg):
|
||||
|
||||
|
||||
def parseask(msg):
|
||||
global ALIAS
|
||||
if re.match(".*(set|cr[ée]{2}|nouvel(le)?) alias.*", msg.content) is not None:
|
||||
result = re.match(".*alias !?([^ ]+) (pour|=|:) (.+)$", msg.content)
|
||||
if result.group(1) in DATAS.getNode("aliases").index or result.group(3).find("alias") >= 0:
|
||||
msg.send_snd("Cet alias est déjà défini.")
|
||||
else:
|
||||
alias = ModuleState("alias")
|
||||
alias["alias"] = result.group(1)
|
||||
alias["origin"] = result.group(3)
|
||||
alias["creator"] = msg.nick
|
||||
DATAS.getNode("aliases").addChild(alias)
|
||||
msg.send_snd("Nouvel alias %s défini avec succès." % result.group(1))
|
||||
save()
|
||||
return True
|
||||
return False
|
||||
global ALIAS
|
||||
if re.match(".*(set|cr[ée]{2}|nouvel(le)?) alias.*", msg.content) is not None:
|
||||
result = re.match(".*alias !?([^ ]+) (pour|=|:) (.+)$", msg.content)
|
||||
if result.group(1) in DATAS.getNode("aliases").index or result.group(3).find("alias") >= 0:
|
||||
return Response(msg.sender, "Cet alias est déjà défini.")
|
||||
else:
|
||||
alias = ModuleState("alias")
|
||||
alias["alias"] = result.group(1)
|
||||
alias["origin"] = result.group(3)
|
||||
alias["creator"] = msg.nick
|
||||
DATAS.getNode("aliases").addChild(alias)
|
||||
res = Response(msg.sender, "Nouvel alias %s défini avec succès." % result.group(1))
|
||||
save()
|
||||
return res
|
||||
return False
|
||||
|
@ -47,16 +47,25 @@ def cmd_anniv(msg):
|
||||
tyd = DATAS.index[name].getDate("born")
|
||||
tyd = datetime(date.today().year, tyd.month, tyd.day)
|
||||
|
||||
if tyd.day == datetime.today().day and tyd.month == datetime.today().month:
|
||||
msg.send_chn (msg.countdown_format (DATAS.index[name].getDate("born"), "", "C'est aujourd'hui l'anniversaire de %s ! Il a%s. Joyeux anniversaire :)" % (name, "%s")))
|
||||
if (tyd.day == datetime.today().day and
|
||||
tyd.month == datetime.today().month):
|
||||
return Response(msg.sender, msg.countdown_format(
|
||||
DATAS.index[name].getDate("born"), "",
|
||||
"C'est aujourd'hui l'anniversaire de %s !"
|
||||
" Il a %s. Joyeux anniversaire :)" % (name, "%s")),
|
||||
msg.channel)
|
||||
else:
|
||||
if tyd < datetime.today():
|
||||
tyd = datetime(date.today().year + 1, tyd.month, tyd.day)
|
||||
|
||||
msg.send_chn (msg.countdown_format (tyd, "Il reste %s avant l'anniversaire de %s !" % ("%s", name), ""))
|
||||
return Response(msg.sender, msg.countdown_format(tyd,
|
||||
"Il reste %s avant l'anniversaire de %s !" % ("%s",
|
||||
name), ""),
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn ("%s: désolé, je ne connais pas la date d'anniversaire de %s. Quand est-il né ?"%(msg.nick, name))
|
||||
return True
|
||||
return Response(msg.sender, "désolé, je ne connais pas la date d'anniversaire"
|
||||
" de %s. Quand est-il né ?" % name,
|
||||
msg.channel, msg.nick)
|
||||
|
||||
def cmd_age(msg):
|
||||
(matches, name) = findName(msg)
|
||||
@ -64,19 +73,25 @@ def cmd_age(msg):
|
||||
name = matches[0]
|
||||
d = DATAS.index[name].getDate("born")
|
||||
|
||||
msg.send_chn (msg.countdown_format (d, "%s va naître dans %s." % (name, "%s"),
|
||||
"%s a %s." % (name, "%s")))
|
||||
return Response(msg.sender, msg.countdown_format(d,
|
||||
"%s va naître dans %s." % (name, "%s"),
|
||||
"%s a %s." % (name, "%s")),
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn ("%s: désolé, je ne connais pas l'âge de %s. Quand est-il né ?"%(msg.nick, name))
|
||||
return Response(msg.sender, "désolé, je ne connais pas l'âge de %s."
|
||||
" Quand est-il né ?" % name, msg.channel, msg.nick)
|
||||
return True
|
||||
|
||||
def parseask(msg):
|
||||
msgl = msg.content.lower ()
|
||||
if re.match("^.*(date de naissance|birthday|geburtstag|née? |nee? le|born on).*$", msgl) is not None:
|
||||
try:
|
||||
extDate = msg.extractDate ()
|
||||
if extDate is None or extDate.year() > datetime.now().year():
|
||||
msg.send_chn ("%s: ta date de naissance ne paraît pas valide..." % (msg.nick))
|
||||
extDate = msg.extractDate()
|
||||
if extDate is None or extDate.year > datetime.now().year:
|
||||
return Response(msg.sender,
|
||||
"ta date de naissance ne paraît pas valide...",
|
||||
msg.channel,
|
||||
msg.nick)
|
||||
else:
|
||||
if msg.nick.lower() in DATAS.index:
|
||||
DATAS.index[msg.nick.lower()]["born"] = extDate
|
||||
@ -85,12 +100,12 @@ def parseask(msg):
|
||||
ms.setAttribute("name", msg.nick.lower())
|
||||
ms.setAttribute("born", extDate)
|
||||
DATAS.addChild(ms)
|
||||
msg.send_chn ("%s: ok, c'est noté, ta date de naissance est le %s" % (msg.nick, extDate.strftime("%A %d %B %Y à %H:%M")))
|
||||
save()
|
||||
return Response(msg.sender,
|
||||
"ok, c'est noté, ta date de naissance est le %s"
|
||||
% extDate.strftime("%A %d %B %Y à %H:%M"),
|
||||
msg.channel,
|
||||
msg.nick)
|
||||
except:
|
||||
msg.send_chn ("%s: ta date de naissance ne paraît pas valide..." % (msg.nick))
|
||||
return True
|
||||
return False
|
||||
|
||||
def parselisten (msg):
|
||||
return False
|
||||
return Response(msg.sender, "ta date de naissance ne paraît pas valide...",
|
||||
msg.channel, msg.nick)
|
||||
|
@ -13,5 +13,4 @@
|
||||
<message type="cmd" name="new-year" call="cmd_newyear" />
|
||||
<message type="cmd" name="newyear" call="cmd_newyear" />
|
||||
<message type="cmd" name="ny" call="cmd_newyear" />
|
||||
<message type="cmd" name="start" call="start_countdown" />
|
||||
</nemubotmodule>
|
||||
|
@ -7,12 +7,12 @@ from datetime import timedelta
|
||||
from datetime import datetime
|
||||
import time
|
||||
import threading
|
||||
import traceback
|
||||
|
||||
nemubotversion = 3.2
|
||||
|
||||
from event import ModuleEvent
|
||||
from hooks import Hook
|
||||
from xmlparser.node import ModuleState
|
||||
|
||||
def help_tiny ():
|
||||
"""Line inserted in the response to the command !help"""
|
||||
@ -33,13 +33,14 @@ def load(context):
|
||||
if DATAS.index[evt].hasAttribute("end"):
|
||||
event = ModuleEvent(call=fini, call_data=dict(strend=DATAS.index[evt]))
|
||||
event.end = DATAS.index[evt].getDate("end")
|
||||
context.add_event(event)
|
||||
DATAS.index[evt]["id"] = context.add_event(event)
|
||||
|
||||
|
||||
def fini(strend):
|
||||
for server in CONTEXT.servers.keys():
|
||||
if not strend.hasAttribute("server") or server == strend["server"]:
|
||||
if strend["channel"] == CONTEXT.servers[server].nick:
|
||||
CONTEXT.servers[server].send_msg_usr(strend["proprio"], "%s: %s arrivé à échéance." % (strend["proprio"], strend["name"]))
|
||||
CONTEXT.servers[server].send_msg_usr(strend["sender"], "%s: %s arrivé à échéance." % (strend["proprio"], strend["name"]))
|
||||
else:
|
||||
CONTEXT.servers[server].send_msg(strend["channel"], "%s: %s arrivé à échéance." % (strend["proprio"], strend["name"]))
|
||||
DATAS.delChild(DATAS.index[strend["name"]])
|
||||
@ -48,30 +49,34 @@ def fini(strend):
|
||||
def cmd_we(msg):
|
||||
ndate = datetime.today() + timedelta(5 - datetime.today().weekday())
|
||||
ndate = datetime(ndate.year, ndate.month, ndate.day, 0, 0, 1)
|
||||
msg.send_chn (
|
||||
msg.countdown_format (ndate,
|
||||
"Il reste %s avant le week-end, courage ;)",
|
||||
"Youhou, on est en week-end depuis %s."))
|
||||
return Response(msg.sender,
|
||||
msg.countdown_format(ndate,
|
||||
"Il reste %s avant le week-end, courage ;)",
|
||||
"Youhou, on est en week-end depuis %s."),
|
||||
channel=msg.channel)
|
||||
|
||||
def cmd_newyear(msg):
|
||||
msg.send_chn (
|
||||
msg.countdown_format (datetime(datetime.today().year + 1, 1, 1, 0, 0, 1),
|
||||
"Il reste %s avant la nouvelle année.",
|
||||
"Nous faisons déjà la fête depuis %s !"))
|
||||
return Response(msg.sender,
|
||||
msg.countdown_format(datetime(datetime.today().year + 1, 1, 1, 0, 0, 1),
|
||||
"Il reste %s avant la nouvelle année.",
|
||||
"Nous faisons déjà la fête depuis %s !"),
|
||||
channel=msg.channel)
|
||||
|
||||
def cmd_vacances(msg):
|
||||
msg.send_chn (
|
||||
msg.countdown_format (datetime(2012, 7, 30, 18, 0, 1),
|
||||
"Il reste %s avant les vacances :)",
|
||||
"Profitons, c'est les vacances depuis %s."))
|
||||
return Response(msg.sender,
|
||||
msg.countdown_format(datetime(2013, 7, 30, 18, 0, 1),
|
||||
"Il reste %s avant les vacances :)",
|
||||
"Profitons, c'est les vacances depuis %s."),
|
||||
channel=msg.channel)
|
||||
|
||||
def start_countdown(msg):
|
||||
if msg.cmd[1] not in DATAS:
|
||||
if msg.cmd[1] not in DATAS.index:
|
||||
|
||||
strnd = ModuleState("strend")
|
||||
strnd["server"] = msg.srv.id
|
||||
strnd["channel"] = msg.channel
|
||||
strnd["proprio"] = msg.nick
|
||||
strnd["sender"] = msg.sender
|
||||
strnd["start"] = datetime.now()
|
||||
strnd["name"] = msg.cmd[1]
|
||||
DATAS.addChild(strnd)
|
||||
@ -91,30 +96,32 @@ def start_countdown(msg):
|
||||
else:
|
||||
strnd["end"] = datetime.now() + timedelta(seconds=int(result.group(1)))
|
||||
evt.end = strnd.getDate("end")
|
||||
CONTEXT.add_event(evt)
|
||||
msg.send_snd ("%s commencé le %s et se terminera le %s."% (msg.cmd[1], datetime.now(), strnd.getDate("end")))
|
||||
strnd["id"] = CONTEXT.add_event(evt)
|
||||
save()
|
||||
return Response(msg.sender, "%s commencé le %s et se terminera le %s."% (msg.cmd[1], datetime.now(), strnd.getDate("end")))
|
||||
except:
|
||||
msg.send_snd ("Impossible de définir la fin de %s."% (msg.cmd[1]))
|
||||
msg.send_snd ("%s commencé le %s."% (msg.cmd[1], datetime.now()))
|
||||
else:
|
||||
msg.send_snd ("%s commencé le %s"% (msg.cmd[1], datetime.now()))
|
||||
save()
|
||||
return Response(msg.sender, "Impossible de définir la fin de %s.\n%s commencé le %s."% (msg.cmd[1], msg.cmd[1], datetime.now()))
|
||||
save()
|
||||
return Response(msg.sender, "%s commencé le %s"% (msg.cmd[1], datetime.now()))
|
||||
else:
|
||||
msg.send_snd ("%s existe déjà."% (msg.cmd[1]))
|
||||
return True
|
||||
return Response(msg.sender, "%s existe déjà."% (msg.cmd[1]))
|
||||
|
||||
def end_countdown(msg):
|
||||
if msg.cmd[1] in DATAS.index:
|
||||
msg.send_chn ("%s a duré %s." % (msg.cmd[1], msg.just_countdown(datetime.now () - DATAS.index[msg.cmd[1]].getDate("start"))))
|
||||
res = Response(msg.sender,
|
||||
"%s a duré %s." % (msg.cmd[1],
|
||||
msg.just_countdown(datetime.now () - DATAS.index[msg.cmd[1]].getDate("start"))),
|
||||
channel=msg.channel)
|
||||
if DATAS.index[msg.cmd[1]]["proprio"] == msg.nick or (msg.cmd[0] == "forceend" and msg.nick == msg.srv.owner):
|
||||
CONTEXT.del_event(DATAS.index[msg.cmd[1]]["id"])
|
||||
DATAS.delChild(DATAS.index[msg.cmd[1]])
|
||||
Manager.newStrendEvt.set()
|
||||
save()
|
||||
else:
|
||||
msg.send_snd ("Vous ne pouvez pas terminer le compteur %s, créé par %s."% (msg.cmd[1], DATAS.index[msg.cmd[1]]["proprio"]))
|
||||
res.append_message("Vous ne pouvez pas terminer le compteur %s, créé par %s."% (msg.cmd[1], DATAS.index[msg.cmd[1]]["proprio"]))
|
||||
return res
|
||||
else:
|
||||
msg.send_snd ("%s n'est pas un compteur connu."% (msg.cmd[1]))
|
||||
return True
|
||||
return Response(msg.sender, "%s n'est pas un compteur connu."% (msg.cmd[1]))
|
||||
|
||||
def liste(msg):
|
||||
msg.send_snd ("Compteurs connus : %s." % ", ".join(DATAS.index.keys()))
|
||||
@ -123,14 +130,12 @@ def parseanswer(msg):
|
||||
if msg.cmd[0] in DATAS.index:
|
||||
if DATAS.index[msg.cmd[0]].name == "strend":
|
||||
if DATAS.index[msg.cmd[0]].hasAttribute("end"):
|
||||
msg.send_chn ("%s commencé il y a %s et se terminera dans %s." % (msg.cmd[0], msg.just_countdown(datetime.now() - DATAS.index[msg.cmd[0]].getDate("start")), msg.just_countdown(DATAS.index[msg.cmd[0]].getDate("end") - datetime.now())))
|
||||
return Response(msg.sender, "%s commencé il y a %s et se terminera dans %s." % (msg.cmd[0], msg.just_countdown(datetime.now() - DATAS.index[msg.cmd[0]].getDate("start")), msg.just_countdown(DATAS.index[msg.cmd[0]].getDate("end") - datetime.now())), channel=msg.channel)
|
||||
else:
|
||||
msg.send_chn ("%s commencé il y a %s." % (msg.cmd[0], msg.just_countdown(datetime.now () - DATAS.index[msg.cmd[0]].getDate("start"))))
|
||||
return Response(msg.sender, "%s commencé il y a %s." % (msg.cmd[0], msg.just_countdown(datetime.now () - DATAS.index[msg.cmd[0]].getDate("start"))), channel=msg.channel)
|
||||
else:
|
||||
msg.send_chn (msg.countdown_format (DATAS.index[msg.cmd[0]].getDate("start"), DATAS.index[msg.cmd[0]]["msg_before"], DATAS.index[msg.cmd[0]]["msg_after"]))
|
||||
save()
|
||||
return True
|
||||
return False
|
||||
return Response(msg.sender, msg.countdown_format (DATAS.index[msg.cmd[0]].getDate("start"), DATAS.index[msg.cmd[0]]["msg_before"], DATAS.index[msg.cmd[0]]["msg_after"]), channel=msg.channel)
|
||||
|
||||
def parseask(msg):
|
||||
msgl = msg.content.lower()
|
||||
@ -141,7 +146,7 @@ def parseask(msg):
|
||||
if texts is not None and texts.group (3) is not None:
|
||||
extDate = msg.extractDate ()
|
||||
if extDate is None or extDate == "":
|
||||
msg.send_snd ("La date de l'événement est invalide...")
|
||||
return Response(msg.sender, "La date de l'événement est invalide...", channel=msg.channel)
|
||||
else:
|
||||
if texts.group (1) is not None and (texts.group (1) == "après" or texts.group (1) == "apres" or texts.group (1) == "after"):
|
||||
msg_after = texts.group (2)
|
||||
@ -155,29 +160,35 @@ def parseask(msg):
|
||||
evt["server"] = msg.srv.id
|
||||
evt["channel"] = msg.channel
|
||||
evt["proprio"] = msg.nick
|
||||
evt["sender"] = msg.sender
|
||||
evt["name"] = name.group(1)
|
||||
evt["start"] = extDate
|
||||
evt["msg_after"] = msg_after
|
||||
evt["msg_before"] = msg_before
|
||||
DATAS.addChild(evt)
|
||||
save()
|
||||
msg.send_snd ("Nouvel événement !%s ajouté avec succès."%name.group (1))
|
||||
return Response(msg.sender,
|
||||
"Nouvel événement !%s ajouté avec succès." % name.group(1),
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_snd ("Pour que l'événement soit valide, ajouter %s à l'endroit où vous voulez que soit ajouté le compte à rebours.")
|
||||
return Response(msg.sender,
|
||||
"Pour que l'événement soit valide, ajouter %s à"
|
||||
" l'endroit où vous voulez que soit ajouté le"
|
||||
" compte à rebours.")
|
||||
elif texts is not None and texts.group (2) is not None:
|
||||
evt = ModuleState("event")
|
||||
evt["server"] = msg.srv.id
|
||||
evt["channel"] = msg.channel
|
||||
evt["proprio"] = msg.nick
|
||||
evt["sender"] = msg.sender
|
||||
evt["name"] = name.group(1)
|
||||
evt["msg_before"] = texts.group (2)
|
||||
DATAS.addChild(evt)
|
||||
save()
|
||||
msg.send_snd ("Nouvelle commande !%s ajoutée avec succès."%name.group (1))
|
||||
return Response(msg.sender, "Nouvelle commande !%s ajoutée avec succès." % name.group(1))
|
||||
else:
|
||||
msg.send_snd ("Veuillez indiquez les messages d'attente et d'après événement entre guillemets.")
|
||||
return Response(msg.sender, "Veuillez indiquez les messages d'attente et d'après événement entre guillemets.")
|
||||
elif name is None:
|
||||
msg.send_snd ("Veuillez attribuer une commande à l'événement.")
|
||||
return Response(msg.sender, "Veuillez attribuer une commande à l'événement.")
|
||||
else:
|
||||
msg.send_snd ("Un événement portant ce nom existe déjà.")
|
||||
return False
|
||||
return Response(msg.sender, "Un événement portant ce nom existe déjà.")
|
||||
|
@ -35,7 +35,9 @@ def cmd_sleep(msg):
|
||||
for i in range(0,6):
|
||||
f.append(f[i] - timedelta(hours=1,minutes=30))
|
||||
g.append(f[i+1].strftime("%H:%M"))
|
||||
msg.send_chn("You should try to fall asleep at one of the following times: %s" % ', '.join(g))
|
||||
return Response(msg.sender,
|
||||
"You should try to fall asleep at one of the following"
|
||||
" times: %s" % ', '.join(g), msg.channel)
|
||||
|
||||
# Just get awake times
|
||||
else:
|
||||
@ -44,6 +46,7 @@ def cmd_sleep(msg):
|
||||
for i in range(0,6):
|
||||
f.append(f[i] + timedelta(hours=1,minutes=30))
|
||||
g.append(f[i+1].strftime("%H:%M"))
|
||||
msg.send_chn("If you head to bed right now, you should try to wake up at one of the following times: %s"% ', '.join(g))
|
||||
|
||||
return True
|
||||
return Response(msg.sender,
|
||||
"If you head to bed right now, you should try to wake"
|
||||
" up at one of the following times: %s" %
|
||||
', '.join(g), msg.channel)
|
||||
|
@ -24,12 +24,18 @@ def cmd_syno(msg):
|
||||
for word in msg.cmd[1:]:
|
||||
synos = get_synos(word)
|
||||
if synos is None:
|
||||
msg.send_chn("Une erreur s'est produite durant la recherche d'un synonyme de %s" % word)
|
||||
return Response(msg.sender,
|
||||
"Une erreur s'est produite durant la recherche"
|
||||
" d'un synonyme de %s" % word, msg.channel)
|
||||
elif len(synos) > 0:
|
||||
msg.send_chn("Synonymes de %s : %s" % (word, ', '.join(synos)))
|
||||
return True
|
||||
return Response(msg.sender,
|
||||
"Synonymes de %s : %s" %
|
||||
(word, ', '.join(synos)),
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn("Aucun synonymes de %s n'a été trouvé" % word)
|
||||
return Response(msg.sender,
|
||||
"Aucun synonymes de %s n'a été trouvé" % word,
|
||||
msg.channel)
|
||||
return False
|
||||
|
||||
|
||||
|
@ -47,32 +47,36 @@ def cmd_translate(msg):
|
||||
if res == http.client.OK:
|
||||
wres = json.loads(page.decode())
|
||||
if "Error" in wres:
|
||||
msg.send_chn(wres["Note"])
|
||||
return Response(msg.sender, wres["Note"], msg.channel)
|
||||
else:
|
||||
start = "Traduction de %s : "%' '.join(msg.cmd[startWord:])
|
||||
if "Entries" in wres["term0"]:
|
||||
if "SecondTranslation" in wres["term0"]["Entries"]["0"]:
|
||||
msg.send_chn(start +
|
||||
wres["term0"]["Entries"]["0"]["FirstTranslation"]["term"] +
|
||||
" ; " +
|
||||
wres["term0"]["Entries"]["0"]["SecondTranslation"]["term"])
|
||||
return Response(msg.sender, start +
|
||||
wres["term0"]["Entries"]["0"]["FirstTranslation"]["term"] +
|
||||
" ; " +
|
||||
wres["term0"]["Entries"]["0"]["SecondTranslation"]["term"],
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn(start +
|
||||
wres["term0"]["Entries"]["0"]["FirstTranslation"]["term"])
|
||||
return Response(msg.sender, start +
|
||||
wres["term0"]["Entries"]["0"]["FirstTranslation"]["term"],
|
||||
msg.channel)
|
||||
elif "PrincipalTranslations" in wres["term0"]:
|
||||
if "1" in wres["term0"]["PrincipalTranslations"]:
|
||||
msg.send_chn(start +
|
||||
wres["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"] +
|
||||
" ; " +
|
||||
wres["term0"]["PrincipalTranslations"]["1"]["FirstTranslation"]["term"])
|
||||
return Response(msg.sender, start +
|
||||
wres["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"] +
|
||||
" ; " +
|
||||
wres["term0"]["PrincipalTranslations"]["1"]["FirstTranslation"]["term"],
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn(start +
|
||||
wres["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"])
|
||||
return Response(msg.sender, start +
|
||||
wres["term0"]["PrincipalTranslations"]["0"]["FirstTranslation"]["term"],
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn("Une erreur s'est produite durant la recherche"
|
||||
" d'une traduction de %s"
|
||||
% ' '.join(msg.cmd[startWord:]))
|
||||
return True
|
||||
return Response(msg.sender, "Une erreur s'est produite durant la recherche"
|
||||
" d'une traduction de %s"
|
||||
% ' '.join(msg.cmd[startWord:]),
|
||||
msg.channel)
|
||||
|
||||
|
||||
def getPage(terms, langfrom="fr", langto="en"):
|
||||
|
@ -74,24 +74,33 @@ def print_station_status(msg, station):
|
||||
"""Send message with information about the given station"""
|
||||
(available, free) = station_status(station)
|
||||
if available is not None and free is not None:
|
||||
msg.send_chn("%s: à la station %s : %d vélib et %d points d'attache disponibles." % (msg.nick, station, available, free))
|
||||
return Response(msg.sender,
|
||||
"%s: à la station %s : %d vélib et %d points d'attache"
|
||||
" disponibles." % (msg.nick, station, available, free),
|
||||
msg.channel)
|
||||
else:
|
||||
msg.send_chn("%s: station %s inconnue." % (msg.nick, station))
|
||||
return Response(msg.sender,
|
||||
"%s: station %s inconnue." % (msg.nick, station),
|
||||
msg.channel)
|
||||
|
||||
def ask_stations(msg):
|
||||
"""Hook entry from !velib"""
|
||||
global DATAS
|
||||
if len(msg.cmd) > 5:
|
||||
msg.send_chn("%s: Demande-moi moins de stations à la fois." % msg.nick)
|
||||
return Response(msg.sender,
|
||||
"Demande-moi moins de stations à la fois.",
|
||||
msg.channel, nick=msg.nick)
|
||||
elif len(msg.cmd) > 1:
|
||||
for station in msg.cmd[1:]:
|
||||
if re.match("^[0-9]{4,5}$", station):
|
||||
print_station_status(msg, station)
|
||||
return print_station_status(msg, station)
|
||||
elif station in DATAS.index:
|
||||
print_station_status(msg, DATAS.index[station]["number"])
|
||||
return print_station_status(msg, DATAS.index[station]["number"])
|
||||
else:
|
||||
msg.send_chn("%s: numéro de station invalide." % (msg.nick))
|
||||
return True
|
||||
return Response(msg.sender,
|
||||
"numéro de station invalide.",
|
||||
msg.channel, nick=msg.nick)
|
||||
else:
|
||||
msg.send_chn("%s: Pour quelle station ?" % msg.nick)
|
||||
return False
|
||||
return Response(msg.sender,
|
||||
"Pour quelle station ?",
|
||||
msg.channel, nick=msg.nick)
|
||||
|
@ -15,12 +15,12 @@ class Tinyfier(threading.Thread):
|
||||
if status == http.client.OK and len(page) < 100:
|
||||
srv = re.match(".*((ht|f)tps?://|www.)([^/ ]+).*", self.url)
|
||||
if srv is None:
|
||||
self.msg.send_chn("Mauvaise URL : %s" % (self.url))
|
||||
self.msg.srv.send_response(Response(self.msg.sender, "Mauvaise URL : %s" % (self.url), self.msg.channel))
|
||||
else:
|
||||
self.msg.send_chn("URL pour %s : %s" % (srv.group(3), page.decode()))
|
||||
self.msg.srv.send_response(Response(self.msg.sender, "URL pour %s : %s" % (srv.group(3), page.decode()), self.msg.channel))
|
||||
else:
|
||||
print ("ERROR: ycc.fr seem down?")
|
||||
self.msg.send_chn("La situation est embarassante, il semblerait que YCC soit down :(")
|
||||
self.msg.srv.send_response(Response(self.msg.sender, "La situation est embarassante, il semblerait que YCC soit down :(", self.msg.channel))
|
||||
|
||||
def getPage(s, p):
|
||||
conn = http.client.HTTPConnection(s, timeout=10)
|
||||
|
@ -16,8 +16,12 @@ def help_tiny ():
|
||||
def help_full ():
|
||||
return "!ycc [<url>]: with an argument, reduce the given <url> thanks to ycc.fr; without argument, reduce the last URL said on the current channel."
|
||||
|
||||
def load(context):
|
||||
Tinyfier.Response = Response
|
||||
|
||||
def reload():
|
||||
imp.reload(Tinyfier)
|
||||
imp.reload(Tinyfier)
|
||||
Tinyfier.Response = Response
|
||||
|
||||
def cmd_ycc(msg):
|
||||
global LAST_URLS
|
||||
@ -27,17 +31,16 @@ def cmd_ycc(msg):
|
||||
t = Tinyfier.Tinyfier(url, msg)
|
||||
t.start()
|
||||
else:
|
||||
msg.send_chn("%s: je n'ai pas d'autre URL à réduire" % msg.nick)
|
||||
return Response(msg.sender, "je n'ai pas d'autre URL à réduire", msg.channel, nick=msg.nick)
|
||||
else:
|
||||
if len(msg.cmd) < 6:
|
||||
for url in msg.cmd[1:]:
|
||||
t = Tinyfier.Tinyfier(url, msg)
|
||||
t.start()
|
||||
else:
|
||||
msg.send_chn("%s: je ne peux pas réduire autant d'URL d'un seul"
|
||||
" coup." % msg.nick)
|
||||
return False
|
||||
return True
|
||||
return Response(msg.sender, "je ne peux pas réduire autant d'URL "
|
||||
"d'un seul coup.", msg.channel, nick=msg.nick)
|
||||
return False
|
||||
|
||||
LAST_URLS = dict()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user