Esempio n. 1
0
# 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())
Esempio n. 2
0
    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 = []
Esempio n. 3
0
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)
Esempio n. 4
0
    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 = []