def cpsk_match(event, departure, dest, *args): """Searches for bus or train info in Slovakia. Examples: bus z BA do TO najblizsi vlak z Topolcany do Prievidza spoj z KE do Trencin zajtra bus z TO do Jacovce pozajtra o 20:30 bus z TO do BA """ msg = event.meta['body'] date = '' if 'zajtra' in msg: date = (datetime.date.today() + datetime.timedelta(days=1)) \ .strftime("%d.%m.%Y") elif 'pozajtra' in msg: date = (datetime.date.today() + datetime.timedelta(days=2)) \ .strftime("%d.%m.%Y") time_match = re.search("([0-9]+:[0-9]+)", msg) time = '' if time_match is not None: time = msg[time_match.start():time_match.end()] vehicle = 'vlakbus' if 'vlak' in msg: vehicle = 'vlak' elif 'bus' in msg: vehicle = 'bus' routes = cpsk.get_routes(departure, dest, vehicle=vehicle, time=time, date=date) return routes[0].__repr__()
def get_line(self, msg, args, vehicle): """Search for bus/train based on given vehicle argument.""" nick = msg.frm.nick if '-' in args: args = split_args_by(args, '-') else: args = args.split(' ') if len(args) >= 1 and args[0] == 'next': if nick not in searched: return 'No next line' args = self.searched_incrementer(nick) if len(args) < 2: return 'Not enough arguments specified. See !help for usage' dep = args[0] dest = args[1] time = args[2] if len(args) > 2 else '' date = args[3] if len(args) > 3 else '' if dep == dest: return 'You joker' r = cpsk.get_routes(dep, dest, vehicle=vehicle, time=time, date=date) return self.send_output(nick, dep, dest, date, result=r)
def line_match(self, msg, match): """Search for mhd in BA or bus/train lines in Slovakia. Examples: bus z mlyny na hlst vlak z BA do TO bus z BA do LM 18:00 20.12.2014 spoj zo Zochova no mlyny """ f = match.group(1) t = match.group(2) time = match.group(3) date = match.group(4) if f == t: return 'Not in this universe.' time = '' if time is None else time date = '' if date is None else date body = msg.body if ('zajtra' in body or 'pozajtra' in body) and date is not '': if 'pozajtra' in body: delta = 2 elif 'zajtra' in body: delta = 1 date = (datetime.date.today() + datetime.timedelta(days=delta)) \ .strftime('%d.%m.%Y') vehicle = 'vlakbus' if 'bus' in body: vehicle = 'bus' elif 'vlak' in body: vehicle = 'vlak' r = cpsk.get_routes(f, t, vehicle=vehicle, time=time, date=date) if not len(r): f = imhdsk.clear_stop(imhdsk.suggest( self.rootify(f.split(' ')[0]))[0]['name']) t = imhdsk.clear_stop(imhdsk.suggest( self.rootify(t.split(' ')[0]))[0]['name']) r = imhdsk.routes(f, t, time=time, date=date) return self.send_output(msg.frm.nick, f, t, date, result=r)
def get_line(nick, args, vehicle): if '-' in args: args = split_args_by(args, '-') else: args = args.split(' ') if len(args) < 2: return 'Not enough arguments specified. See help for usage' dep = args[0] dest = args[1] time = args[2] if len(args) > 2 else '' date = args[3] if len(args) > 3 else '' if dep == dest: return 'You joker' r = cpsk.get_routes(dep, dest, vehicle=vehicle, time=time, date=date) return generate_output(r)
def get_line(event, vehicle): """Searches for bus/train based on given vehicle argument""" args = event.args if len(args) < 2: return if '-' in args: a = ' '.join(args) args = map(lambda x: x.strip(), a.split('-')) dep = args[0] dest = args[1] time = args[2] if len(args) > 2 else '' date = args[3] if len(args) > 3 else '' if dep == dest: return "You joker" r = cpsk.get_routes(dep, dest, vehicle=vehicle, time=time, date=date) return r[0].__repr__() if len(r) else "Nothing found"
# -*- coding: utf-8 -*- import cpsk import sys if (sys.version).startswith('2'): reload(sys) sys.setdefaultencoding("utf-8") city = 'presov' mhd_routes = cpsk.get_routes('Čierny most', 'Pod Táborom', vehicle=city, time="14:20") print('Looking for MHD lines for ' + city) for b in mhd_routes: print(b) print() bus_routes = cpsk.get_routes('TO', 'BA', vehicle='bus') print('Looking for bus lines') for b in bus_routes: print(b) print() train_routes = cpsk.get_routes('NR', 'TO', vehicle='vlak') print('Looking for train lines') for t in train_routes: print(t)
# -*- coding: utf-8 -*- import cpsk import sys if (sys.version).startswith('2'): reload(sys) sys.setdefaultencoding("utf-8") bus_routes = cpsk.get_routes('TO', 'BA', vehicle='bus') print('Looking for bus lines') for b in bus_routes: print(b) print() train_routes = cpsk.get_routes('NR', 'TO', vehicle='vlak') print('Looking for train lines') for t in train_routes: print(t) print() routes = cpsk.get_routes('KE', 'TO') print('Looking for lines') for r in routes: print(r) print() inter_routes = cpsk.get_routes('Brno', 'BA', vehicle='vlak')
# -*- coding: utf-8 -*- import cpsk import sys if (sys.version).startswith('2'): reload(sys) sys.setdefaultencoding("utf-8") bus_routes = cpsk.get_routes('TO', 'BA', vehicle='bus') print('Looking for bus lines') for b in bus_routes: print(b) print() bus_routes_direct = cpsk.get_routes('Zilina', 'Poprad', vehicle='bus', direct=True) print('Looking for bus lines') for b in bus_routes_direct: print(b) print() train_routes = cpsk.get_routes('NR', 'TO', vehicle='vlak') print('Looking for train lines') for t in train_routes: print(t) print()