ogn-python/ogn/commands/stats.py

58 wiersze
1.8 KiB
Python
Czysty Zwykły widok Historia

2019-01-05 10:10:10 +00:00
from datetime import datetime
from tqdm import tqdm
2018-10-21 15:34:03 +00:00
from manager import Manager
from ogn.commands.dbutils import session
2019-01-01 19:13:08 +00:00
from ogn.commands.database import get_database_days
2018-10-21 15:34:03 +00:00
from ogn.collect.stats import create_device_stats, create_receiver_stats, create_relation_stats,\
2019-01-05 10:10:10 +00:00
update_qualities, update_receivers as update_receivers_command, update_devices as update_devices_command,\
2018-10-21 15:34:03 +00:00
update_device_stats_jumps
2019-01-06 20:03:29 +00:00
from ogn.collect.ognrange import create_receiver_coverage
2018-10-21 15:34:03 +00:00
manager = Manager()
2019-01-01 19:13:08 +00:00
2018-10-21 15:34:03 +00:00
@manager.command
2019-01-05 10:25:33 +00:00
def create(start=None, end=None):
2018-10-21 15:34:03 +00:00
"""Create DeviceStats, ReceiverStats and RelationStats."""
2019-01-01 19:13:08 +00:00
days = get_database_days(start, end)
2019-01-05 10:10:10 +00:00
pbar = tqdm(days)
for single_date in pbar:
pbar.set_description(datetime.strftime(single_date, '%Y-%m-%d'))
2018-10-21 15:34:03 +00:00
result = create_device_stats(session=session, date=single_date)
result = update_device_stats_jumps(session=session, date=single_date)
result = create_receiver_stats(session=session, date=single_date)
result = create_relation_stats(session=session, date=single_date)
result = update_qualities(session=session, date=single_date)
2019-01-01 19:13:08 +00:00
2018-10-21 15:34:03 +00:00
@manager.command
2019-01-05 10:10:10 +00:00
def update_receivers():
2018-10-21 15:34:03 +00:00
"""Update receivers with data from stats."""
2018-11-28 06:37:35 +00:00
2019-01-05 10:10:10 +00:00
result = update_receivers_command(session=session)
2018-10-21 15:34:03 +00:00
print(result)
2018-11-28 06:37:35 +00:00
2018-10-21 15:34:03 +00:00
@manager.command
2019-01-05 10:10:10 +00:00
def update_devices():
2018-10-21 15:34:03 +00:00
"""Update devices with data from stats."""
2018-11-28 06:37:35 +00:00
2019-01-05 10:10:10 +00:00
result = update_devices_command(session=session)
2018-10-21 15:34:03 +00:00
print(result)
2019-01-06 20:03:29 +00:00
@manager.command
def create_ognrange(start=None, end=None):
"""Create stats for Melissas ognrange."""
days = get_database_days(start, end)
pbar = tqdm(days)
for single_date in pbar:
pbar.set_description(datetime.strftime(single_date, '%Y-%m-%d'))
2019-01-30 19:29:56 +00:00
result = create_receiver_coverage(session=session, date=single_date)