kopia lustrzana https://github.com/glidernet/ogn-python
44 wiersze
999 B
Python
44 wiersze
999 B
Python
from __future__ import absolute_import
|
|
|
|
from celery.utils.log import get_task_logger
|
|
from ogn.collect.celery import app
|
|
|
|
from ogn.model import AddressOrigin, Device
|
|
from ogn.utils import get_ddb
|
|
|
|
logger = get_task_logger(__name__)
|
|
|
|
|
|
@app.task
|
|
def update_ddb_from_ogn():
|
|
logger.info("Update ddb data from ogn.")
|
|
|
|
app.session.query(Device) \
|
|
.filter(Device.address_origin == AddressOrigin.ogn_ddb) \
|
|
.delete()
|
|
|
|
devices = get_ddb()
|
|
logger.debug("New Devices: %s" % str(devices))
|
|
|
|
app.session.bulk_save_objects(devices)
|
|
app.session.commit()
|
|
|
|
return len(devices)
|
|
|
|
|
|
@app.task
|
|
def update_ddb_from_file():
|
|
logger.info("Import ddb data from file.")
|
|
|
|
app.session.query(Device) \
|
|
.filter(Device.address_origin == AddressOrigin.userdefined) \
|
|
.delete()
|
|
|
|
devices = get_ddb('ogn/custom_ddb.txt')
|
|
logger.debug("New Devices: %s" % str(devices))
|
|
|
|
app.session.bulk_save_objects(devices)
|
|
app.session.commit()
|
|
|
|
return len(devices)
|