# store different paths for different dates, to allow fetching historical data for route configurations. # if __name__ == '__main__': parser = argparse.ArgumentParser(description='Save route configuration from GTFS and possibly Nextbus API') parser.add_argument('--agency', required=False, help='Agency ID') parser.add_argument('--s3', dest='s3', action='store_true', help='store in s3') parser.add_argument('--timetables', dest='timetables', action='store_true', help='also save timetables') parser.add_argument('--scheduled-stats', dest='scheduled_stats', action='store_true', help='also compute scheduled stats if the timetable has new dates (requires --timetables)') parser.set_defaults(s3=False) parser.set_defaults(timetables=False) parser.set_defaults(scheduled_stats=False) args = parser.parse_args() agencies = [config.get_agency(args.agency)] if args.agency is not None else config.agencies save_to_s3 = args.s3 d = date.today() errors = [] for agency in agencies: scraper = gtfs.GtfsScraper(agency) scraper.save_routes(save_to_s3, d) if args.timetables: timetables_updated = scraper.save_timetables(save_to_s3=save_to_s3, skip_existing=True) if timetables_updated and args.scheduled_stats: dates = sorted(scraper.get_services_by_date().keys())
parser = argparse.ArgumentParser( description='Show overall arrival history for a particular route') parser.add_argument('--agency', required=True, help='Agency id') parser.add_argument('--route', required=True, help='Route id') parser.add_argument('--date', help='Date (yyyy-mm-dd)', required=True) parser.add_argument('--version') parser.add_argument('--start-time', help='hh:mm of first local time to include each day') parser.add_argument('--end-time', help='hh:mm of first local time to exclude each day') args = parser.parse_args() agency = config.get_agency(args.agency) version = args.version if version is None: version = arrival_history.DefaultVersion route_id = args.route date_str = args.date start_time_str = args.start_time end_time_str = args.end_time tz = agency.tz route_ids = [route_id] stop_rows = []
import boto3 from models import config, util, wait_times from compute_arrivals import compute_arrivals from compute_trip_times import compute_trip_times from compute_wait_times import compute_wait_times if __name__ == '__main__': parser = argparse.ArgumentParser(description='') parser.add_argument('--start-date', help='Start date (yyyy-mm-dd)') parser.add_argument('--agency', required=False, help='Agency ID') args = parser.parse_args() agencies = [config.get_agency(args.agency) ] if args.agency is not None else config.agencies s3_bucket = config.s3_bucket version = 'v1' for agency in agencies: agency_id = agency.id s3_path = f"state/{version}/state_{version}_{agency_id}.json" def save_state(state): state_str = json.dumps(state) s3 = boto3.resource('s3') print(f'saving state to s3://{s3_bucket}/{s3_path}') object = s3.Object(s3_bucket, s3_path)
parser.add_argument('--date', help='Date (yyyy-mm-dd)') parser.add_argument('--start-date', help='Start date (yyyy-mm-dd)') parser.add_argument('--end-date', help='End date (yyyy-mm-dd), inclusive') parser.add_argument('--start-time', help='hh:mm of first local time to include each day') parser.add_argument('--end-time', help='hh:mm of first local time to exclude each day') parser.set_defaults(comparison=False) args = parser.parse_args() agency_id = args.agency agency = config.get_agency(agency_id) version = args.version if version is None: version = arrival_history.DefaultVersion route_id = args.route date_str = args.date stop_id = args.stop start_time_str = args.start_time end_time_str = args.end_time dir_infos = [] route_configs = []