Esempio n. 1
0
async def check_all_sites(max_pages):
    campground_store = DbCampgroundStore(session=get_session())
    for c in campground_store.get():
        logger.info('campground={}'.format(c))
        store = DbAvailabilityStore(session=get_session(), park_id=c.park_id)
        try:
            await get_availability(show_ui=False, n=max_pages, store=store)
        except KeyboardInterrupt as e:
            logger.info('break detected... exit')
            break
        except Exception as e:
            logger.error('failed with {}; moving on...'.format(e))
Esempio n. 2
0
def main(park_id, show_ui, max_pages, logging_config, write_to_console):
    config_logging(logging_config)
    store = ConsoleAvailabilityStore(
    ) if write_to_console else DbAvailabilityStore(session=get_session(),
                                                   park_id=park_id)
    asyncio.get_event_loop().run_until_complete(
        get_availability(show_ui, max_pages, store))
Esempio n. 3
0
def populate_campgrounds_cli(state, show_ui, max_pages):
    session = get_session()
    store = DbCampgroundStore(session=session)
    campgrounds = campground.search_state(state_code=state,
                                          show_ui=show_ui,
                                          max_pages=max_pages)
    store.put(campgrounds)
Esempio n. 4
0
def status_cli():
    session = get_session()
    n_campgrounds = session.query(Campground).count()
    n_sites = session.query(Site).count()
    n_records = session.query(RawAvailable).count()
    print('''
{:12,.0f} campgrounds
{:12,.0f} sites
{:12,.0f} records
'''.format(n_campgrounds, n_sites, n_records))
Esempio n. 5
0
def index():
    session = get_session()
    n_campgrounds = session.query(Campground).count()
    n_sites = session.query(Site).count()
    n_records = session.query(RawAvailable).count()
    stats = {
        'n_campgrounds': n_campgrounds,
        'n_sites': n_sites,
        'n_records': n_records
    }
    return render_template('index.html', stats=stats)
Esempio n. 6
0
def transition_prob_cli(day_0, day_1):
    store = CompressedAvailabilityStore(get_session())
    n_days = (day_1 - day_0).days
    timestamps = [day_0 + timedelta(days=i) for i in range(n_days)]
    a_prev = store.get(timestamps[0])
    n_changed, n_same = 0, 0
    for t in timestamps[1:]:
        a = store.get(t)
        c, s = calc_transitions(a, a_prev)
        n_changed += c
        n_same += s
        a_prev = a

    print('{} changed; {} same; {:.1f}% transition probility'.format(
        n_changed, n_same, n_changed / (n_changed + n_same)))