def get_nearest_trains(step, date, time_after): if step.transport != None and step.transport.start_code != None and step.transport.end_code != None: timetable = bot.fetch_trains(step.transport.start_code, step.transport.end_code, date) if timetable != None: result = [] result.append([x for x in timetable if x.departure < time_after][-1]) result.append([x for x in timetable if x.departure >= time_after][0]) return result
def do_train(request, response): # get request parameters view_mode = request.get('out', 'html') # produce data tomorrow = datetime.date.today() + datetime.timedelta(days=1) data = bot.fetch_trains('Санкт-Петербург', 'Новый Петергоф', tomorrow) # populate the requested view if view_mode == 'json': view.to_json(data, response) else: view.to_html(data, 'train', request, response)
def get_next_peterhot_train(date, time_after): timetable = bot.fetch_trains("Санкт-Петербург", "Новый Петергоф", date) return [x for x in timetable if x.departure > time_after][0]