Delete entries before import new device infos

pull/58/head
Konstantin Gründger 2016-07-17 22:57:54 +02:00
rodzic 41bbecd8aa
commit 759026b015
2 zmienionych plików z 11 dodań i 13 usunięć

Wyświetl plik

@ -9,14 +9,13 @@ from ogn.collect.celery import app
logger = get_task_logger(__name__)
def delete_device_infos(session, address_origin):
def update_device_infos(session, address_origin, csvfile=None):
device_infos = get_ddb(csvfile=csvfile, address_origin=address_origin)
session.query(DeviceInfo) \
.filter(DeviceInfo.address_origin == address_origin) \
.delete()
session.commit()
def update_device_infos(session, device_infos):
session.bulk_save_objects(device_infos)
session.commit()
@ -30,8 +29,7 @@ def import_ddb():
logger.info("Import registered devices fom the DDB...")
address_origin = AddressOrigin.ogn_ddb
delete_device_infos(app.session, address_origin)
counter = update_device_infos(app.session, get_ddb(address_origin=address_origin))
counter = update_device_infos(app.session, address_origin)
logger.info("Imported {} devices.".format(counter))
@ -42,6 +40,5 @@ def import_file(path='tests/custom_ddb.txt'):
logger.info("Import registered devices from '{}'...".format(path))
address_origin = AddressOrigin.user_defined
delete_device_infos(app.session, address_origin)
counter = update_device_infos(app.session, get_ddb(csvfile=path, address_origin=address_origin))
counter = update_device_infos(app.session, address_origin, csvfile=path)
logger.info("Imported {} devices.".format(counter))

Wyświetl plik

@ -1,6 +1,6 @@
from ogn.commands.dbutils import engine, session
from ogn.model import Base, AddressOrigin
from ogn.utils import get_ddb, get_airports
from ogn.utils import get_airports
from ogn.collect.database import update_device_infos
from manager import Manager
@ -51,8 +51,8 @@ def import_ddb():
print("Import registered devices fom the DDB...")
address_origin = AddressOrigin.ogn_ddb
counter = update_device_infos(session, address_origin,
get_ddb(address_origin=address_origin))
counter = update_device_infos(session,
address_origin)
print("Imported %i devices." % counter)
@ -63,8 +63,9 @@ def import_file(path='tests/custom_ddb.txt'):
print("Import registered devices from '{}'...".format(path))
address_origin = AddressOrigin.user_defined
counter = update_device_infos(session, address_origin,
get_ddb(csvfile=path, address_origin=address_origin))
counter = update_device_infos(session,
address_origin,
csvfile=path)
print("Imported %i devices." % counter)