def setUp(self): super(StopRoutesTestCase_v3, self).setUp() self.agency = Agency(agency_id='TS', agency_name='Transantiago', agency_url='http://www.transantiago.cl', agency_timezone='America/Santiago') self.session.add(self.agency) self.stop = Stop( stop_id='PA1', stop_code='PA1', stop_name='PA1-Parada 6 / (M) Quinta Normal', stop_lat='-33.4401169274166', stop_lon='-33.4401169274166', stop_url='http://www.metro.cl/estacion/vicuna-mackenna-l4') self.session.add(self.stop) self.route = Route(route_id='106', agency_id='TS', route_short_name='106', route_long_name='Nueva San Martin - La Florida', route_type='3', route_color='00D5FF', route_text_color='000000') self.session.add(self.route) self.route_stop = RouteStop( route_id=self.route.route_id, direction_id=0, stop_id=self.stop.stop_id, order=1, start_date=arrow.now().date(), end_date=arrow.now().date(), ) self.session.add(self.route_stop) self.trip = Trip(trip_id='106-I-L_V34-B02', route_id=self.route.route_id, service_id='L_V34', shape_id=None, trip_headsign='La Florida', direction_id='0') self.session.add(self.trip) self.stop_time = StopTime(trip_id='106-I-L_V34-B02', arrival_time=None, departure_time=None, stop_id=self.stop.stop_id, stop_sequence=1) self.session.add(self.stop_time) self.session.commit()
def on_get(self, req, resp, stop_id, route_id): date = req.params.get('date') if date: try: date = arrow.get(date, 'YYYY-MM-DD').date() except arrow.parser.ParserError: pass limit = req.params.get('limit', PER_PAGE_LIMIT * 2) # TODO: temporary solution stop_times = StopTime.get_departure_schedule(session=self.session, stop_id=stop_id, route_id=route_id, date=date, limit=limit) stop_time_schema = StopTimeSchema_v1() results = stop_time_schema.dump(stop_times, many=True).data body = dict(results=results, ) resp.body = json.dumps(body, ensure_ascii=False)