kopia lustrzana https://github.com/glidernet/ogn-python
52 wiersze
1.5 KiB
Python
52 wiersze
1.5 KiB
Python
from datetime import datetime, timedelta
|
|
|
|
from app.collect.logbook import update_takeoff_landings as logbook_update_takeoff_landings, update_logbook as logbook_update
|
|
from app.collect.logbook import update_max_altitudes as logbook_update_max_altitudes
|
|
|
|
from app.collect.database import import_ddb as device_infos_import_ddb
|
|
|
|
from app.collect.gateway import transfer_from_redis_to_database
|
|
|
|
from app import db, celery
|
|
|
|
@celery.task(name="transfer_to_database")
|
|
def transfer_to_database():
|
|
"""Transfer APRS data from Redis to database."""
|
|
|
|
result = transfer_from_redis_to_database()
|
|
return result
|
|
|
|
|
|
@celery.task(name="update_takeoff_landings")
|
|
def update_takeoff_landings(last_minutes):
|
|
"""Compute takeoffs and landings."""
|
|
|
|
end = datetime.utcnow()
|
|
start = end - timedelta(minutes=last_minutes)
|
|
result = logbook_update_takeoff_landings(start=start, end=end)
|
|
return result
|
|
|
|
|
|
@celery.task(name="update_logbook")
|
|
def update_logbook(offset_days=None):
|
|
"""Add/update logbook entries."""
|
|
|
|
result = logbook_update(offset_days=offset_days)
|
|
return result
|
|
|
|
|
|
@celery.task(name="update_logbook_max_altitude")
|
|
def update_logbook_max_altitude(offset_days=0):
|
|
"""Add max altitudes in logbook when flight is complete (takeoff and landing)."""
|
|
|
|
result = logbook_update_max_altitudes(offset_days=offset_days)
|
|
return result
|
|
|
|
|
|
@celery.task(name="import_ddb")
|
|
def import_ddb():
|
|
"""Import registered devices from the DDB."""
|
|
|
|
result = device_infos_import_ddb()
|
|
return result
|