ogn-python/ogn/collect/fetchddb.py

45 wiersze
1.0 KiB
Python
Czysty Zwykły widok Historia

from __future__ import absolute_import
from celery.utils.log import get_task_logger
from ogn.collect.celery import app
2015-11-16 19:04:54 +00:00
from ogn.model import Device
from ogn.utils import get_ddb
2015-11-24 07:20:28 +00:00
from ogn.model.address_origin import AddressOrigin
logger = get_task_logger(__name__)
@app.task
2015-11-24 07:20:28 +00:00
def update_ddb_from_ogn():
logger.info("Update ddb data from ogn.")
2015-11-24 07:20:28 +00:00
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
2015-11-24 07:20:28 +00:00
def update_ddb_from_file():
logger.info("Import ddb data from file.")
2015-11-24 07:20:28 +00:00
app.session.query(Device) \
.filter(Device.address_origin == AddressOrigin.userdefined) \
.delete()
devices = get_ddb('ogn/custom_ddb.txt')
2015-11-24 22:29:27 +00:00
logger.debug("New Devices: %s" % str(devices))
app.session.bulk_save_objects(devices)
app.session.commit()
return len(devices)