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__)
|
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) \
|
session.query(DeviceInfo) \
|
||||||
.filter(DeviceInfo.address_origin == address_origin) \
|
.filter(DeviceInfo.address_origin == address_origin) \
|
||||||
.delete()
|
.delete()
|
||||||
session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
def update_device_infos(session, device_infos):
|
|
||||||
session.bulk_save_objects(device_infos)
|
session.bulk_save_objects(device_infos)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
|
@ -30,8 +29,7 @@ def import_ddb():
|
||||||
logger.info("Import registered devices fom the DDB...")
|
logger.info("Import registered devices fom the DDB...")
|
||||||
address_origin = AddressOrigin.ogn_ddb
|
address_origin = AddressOrigin.ogn_ddb
|
||||||
|
|
||||||
delete_device_infos(app.session, address_origin)
|
counter = update_device_infos(app.session, address_origin)
|
||||||
counter = update_device_infos(app.session, get_ddb(address_origin=address_origin))
|
|
||||||
logger.info("Imported {} devices.".format(counter))
|
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))
|
logger.info("Import registered devices from '{}'...".format(path))
|
||||||
address_origin = AddressOrigin.user_defined
|
address_origin = AddressOrigin.user_defined
|
||||||
|
|
||||||
delete_device_infos(app.session, address_origin)
|
counter = update_device_infos(app.session, address_origin, csvfile=path)
|
||||||
counter = update_device_infos(app.session, get_ddb(csvfile=path, address_origin=address_origin))
|
|
||||||
logger.info("Imported {} devices.".format(counter))
|
logger.info("Imported {} devices.".format(counter))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from ogn.commands.dbutils import engine, session
|
from ogn.commands.dbutils import engine, session
|
||||||
from ogn.model import Base, AddressOrigin
|
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 ogn.collect.database import update_device_infos
|
||||||
|
|
||||||
from manager import Manager
|
from manager import Manager
|
||||||
|
@ -51,8 +51,8 @@ def import_ddb():
|
||||||
|
|
||||||
print("Import registered devices fom the DDB...")
|
print("Import registered devices fom the DDB...")
|
||||||
address_origin = AddressOrigin.ogn_ddb
|
address_origin = AddressOrigin.ogn_ddb
|
||||||
counter = update_device_infos(session, address_origin,
|
counter = update_device_infos(session,
|
||||||
get_ddb(address_origin=address_origin))
|
address_origin)
|
||||||
print("Imported %i devices." % counter)
|
print("Imported %i devices." % counter)
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,8 +63,9 @@ def import_file(path='tests/custom_ddb.txt'):
|
||||||
|
|
||||||
print("Import registered devices from '{}'...".format(path))
|
print("Import registered devices from '{}'...".format(path))
|
||||||
address_origin = AddressOrigin.user_defined
|
address_origin = AddressOrigin.user_defined
|
||||||
counter = update_device_infos(session, address_origin,
|
counter = update_device_infos(session,
|
||||||
get_ddb(csvfile=path, address_origin=address_origin))
|
address_origin,
|
||||||
|
csvfile=path)
|
||||||
print("Imported %i devices." % counter)
|
print("Imported %i devices." % counter)
|
||||||
|
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue