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