38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
# vim: ai ts=4 sts=4 et sw=4
|
|
|
|
|
|
from rapidsms.contrib.handlers.handlers.keyword import KeywordHandler
|
|
from buses.models import *
|
|
|
|
class BestHandler(KeywordHandler):
|
|
keyword = "routeold"
|
|
|
|
def help(self):
|
|
self.respond("Send route <bus_no>")
|
|
|
|
def handle(self, text):
|
|
bus_no = text.strip()
|
|
a = Atlas.objects.filter(route__iexact=bus_no)
|
|
if len(a) < 1:
|
|
self.respond("Did not find that bus number. Sorry.")
|
|
else:
|
|
a = a[0]
|
|
src = a.src
|
|
first_src = time_str(a.first_src)
|
|
last_src = time_str(a.last_src)
|
|
dest = a.dest
|
|
first_dest = time_str(a.first_dest)
|
|
last_dest = time_str(a.last_dest)
|
|
schedule = a.schedule
|
|
ret = "%s(%s-%s) to %s(%s-%s) from %s" % (src, str(first_src), str(last_src), dest, str(first_dest), str(last_dest), schedule)
|
|
self.respond(ret)
|
|
|
|
|
|
def time_str(no):
|
|
whole = int(no)
|
|
decimal = (no - whole) * 10
|
|
mins = int(((decimal + .0) / 10) * 60)
|
|
return str(whole) + ":" + str(mins)
|
|
|