kopia lustrzana https://github.com/glidernet/ogn-python
Delete entries before import new device infos
rodzic
41bbecd8aa
commit
759026b015
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue