kopia lustrzana https://github.com/glidernet/ogn-python
commit
ac6afd9b4a
|
@ -5,15 +5,18 @@ from ogn.collect.celery import app
|
|||
|
||||
from ogn.model import Device
|
||||
from ogn.utils import get_ddb
|
||||
from ogn.model.address_origin import AddressOrigin
|
||||
|
||||
logger = get_task_logger(__name__)
|
||||
|
||||
|
||||
@app.task
|
||||
def update_ddb_data():
|
||||
logger.info("Update ddb data.")
|
||||
def update_ddb_from_ogn():
|
||||
logger.info("Update ddb data from ogn.")
|
||||
|
||||
app.session.query(Device).delete()
|
||||
app.session.query(Device) \
|
||||
.filter(Device.address_origin == AddressOrigin.ogn_ddb) \
|
||||
.delete()
|
||||
|
||||
devices = get_ddb()
|
||||
logger.debug("New Devices: %s" % str(devices))
|
||||
|
@ -25,10 +28,14 @@ def update_ddb_data():
|
|||
|
||||
|
||||
@app.task
|
||||
def import_ddb_data(filename='custom_ddb.txt'):
|
||||
def update_ddb_from_file():
|
||||
logger.info("Import ddb data from file.")
|
||||
|
||||
devices = get_ddb(filename)
|
||||
app.session.query(Device) \
|
||||
.filter(Device.address_origin == AddressOrigin.userdefined) \
|
||||
.delete()
|
||||
|
||||
devices = get_ddb('ogn/custom_ddb.txt')
|
||||
|
||||
app.session.bulk_save_objects(devices)
|
||||
app.session.commit()
|
||||
|
|
|
@ -3,7 +3,7 @@ from ogn.model import Base
|
|||
from manager import Manager
|
||||
manager = Manager()
|
||||
|
||||
from ogn.collect.fetchddb import update_ddb_data
|
||||
from ogn.collect.fetchddb import update_ddb_from_ogn, update_ddb_from_file
|
||||
|
||||
|
||||
@manager.command
|
||||
|
@ -15,9 +15,18 @@ def init():
|
|||
|
||||
|
||||
@manager.command
|
||||
def updateddb():
|
||||
"""Update the ddb data."""
|
||||
def update_ddb_ogn():
|
||||
"""Update devices with data from ogn."""
|
||||
print("Updating ddb data...")
|
||||
result = update_ddb_data.delay()
|
||||
result = update_ddb_from_ogn.delay()
|
||||
counter = result.get()
|
||||
print("Imported %i devices." % counter)
|
||||
|
||||
|
||||
@manager.command
|
||||
def update_ddb_file():
|
||||
"""Update devices with data from local file."""
|
||||
print("Updating ddb data...")
|
||||
result = update_ddb_from_file.delay()
|
||||
counter = result.get()
|
||||
print("Imported %i devices." % counter)
|
||||
|
|
|
@ -26,6 +26,7 @@ class GatewayTest(unittest.TestCase):
|
|||
def test_run_multiple_errors(self, mock_gateway):
|
||||
instance = mock_gateway.return_value
|
||||
instance.run.side_effect = [BrokenPipeError(), socket.error(), KeyboardInterrupt()]
|
||||
instance.disconnect.side_effect = [True, True, OSError()]
|
||||
|
||||
run("user_2")
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue