kopia lustrzana https://github.com/glidernet/ogn-python
Fix ddb import
rodzic
f9c88a9cd7
commit
5446ff6ffd
|
@ -9,11 +9,14 @@ from ogn.collect.celery import app
|
||||||
logger = get_task_logger(__name__)
|
logger = get_task_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def update_device_infos(session, address_origin, device_infos):
|
def delete_device_infos(session, 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()
|
||||||
|
|
||||||
|
@ -25,8 +28,10 @@ def import_ddb():
|
||||||
"""Import registered devices from the DDB."""
|
"""Import registered devices from the DDB."""
|
||||||
|
|
||||||
logger.info("Import registered devices fom the DDB...")
|
logger.info("Import registered devices fom the DDB...")
|
||||||
counter = update_device_infos(app.session, AddressOrigin.ogn_ddb,
|
address_origin = AddressOrigin.ogn_ddb
|
||||||
get_ddb())
|
|
||||||
|
delete_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))
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,6 +40,8 @@ def import_file(path='tests/custom_ddb.txt'):
|
||||||
"""Import registered devices from a local file."""
|
"""Import registered devices from a local file."""
|
||||||
|
|
||||||
logger.info("Import registered devices from '{}'...".format(path))
|
logger.info("Import registered devices from '{}'...".format(path))
|
||||||
counter = update_device_infos(app.session, AddressOrigin.user_defined,
|
address_origin = AddressOrigin.user_defined
|
||||||
get_ddb(path))
|
|
||||||
|
delete_device_infos(app.session, address_origin)
|
||||||
|
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))
|
||||||
|
|
Ładowanie…
Reference in New Issue