nemubot/modules/nextstop/__init__.py

41 lines
1.5 KiB
Python
Raw Normal View History

# coding=utf-8
2014-08-27 23:39:31 +00:00
"""Informe les usagers des prochains passages des transports en communs de la RATP"""
2014-09-18 23:42:37 +00:00
from hooks import hook
2014-08-13 13:53:55 +00:00
nemubotversion = 3.4
2014-09-18 23:42:37 +00:00
from .external.src import ratp
def help_full ():
2012-11-04 14:33:04 +00:00
return "!ratp transport line [station]: Donne des informations sur les prochains passages du transport en commun séléctionné à l'arrêt désiré. Si aucune station n'est précisée, les liste toutes."
2014-09-18 23:42:37 +00:00
@hook("cmd_hook", "ratp")
def ask_ratp(msg):
"""Hook entry from !ratp"""
2012-11-04 14:33:04 +00:00
if len(msg.cmds) == 4:
2014-09-18 23:42:37 +00:00
transport = msg.cmds[1]
line = msg.cmds[2]
station = msg.cmds[3]
times = ratp.getNextStopsAtStation(transport, line, station)
if len(times) == 0:
raise IRCException("la station %s n'existe pas sur le %s ligne %s." % (station, transport, line))
(time, direction, stationname) = times[0]
return Response(message=["\x03\x02%s\x03\x02 direction %s" % (time, direction) for time, direction, stationname in times],
title="Prochains passages du %s ligne %s à l'arrêt %s" % (transport, line, stationname),
channel=msg.channel)
2012-11-04 14:33:04 +00:00
elif len(msg.cmds) == 3:
2014-09-18 23:42:37 +00:00
stations = ratp.getAllStations(msg.cmds[1], msg.cmds[2])
if len(stations) == 0:
raise IRCException("aucune station trouvée.")
return Response([s for s in stations], title="Stations", channel=msg.channel)
else:
raise IRCException("Mauvais usage, merci de spécifier un type de transport et une ligne, ou de consulter l'aide du module.")