Use apply config from other module

This commit is contained in:
Colin Goutte 2021-12-12 09:28:22 +01:00
parent 292a89a2ca
commit cd7de07460
2 changed files with 17 additions and 22 deletions

View File

@ -47,6 +47,17 @@ def read_config(*, kind=None, pattern="*"):
return res
def apply_config(db, settings: list[dict]):
pass
def apply_config(*, atomic_db, configs: list[dict] = []):
probes = {}
with atomic_db() as db:
for config in configs:
name = config["nom_sonde"].lower()
identifiant = config["identifiant_sonde"]
sonde = crud.get_sonde(db, identifiant)
if sonde is None:
sonde = crud.create_sonde(db, identifiant, config["nom_sonde"])
logger.info(f"Create sonde {sonde.__dict__}")
else:
logger.info(f"{sonde.identifiant}: {sonde.nom} already exists")
probes[sonde.identifiant] = config
return probes

View File

@ -16,8 +16,7 @@ from . import utils
from papi.sqlapp.database import Base, SessionLocal, engine
from papi.sqlapp import crud
from papi.sqlapp import schemas
from papi.config import read_config
from papi.config import read_config, apply_config
app = FastAPI()
@ -77,23 +76,8 @@ def atomic_db():
db.close()
def apply_config(configs: list[dict] = []):
with atomic_db() as db:
for config in configs:
name = config["nom_sonde"].lower()
if "test" in name or "dummy" in name:
continue
identifiant = config["identifiant_sonde"]
sonde = crud.get_sonde(db, identifiant)
if sonde is None:
sonde = crud.create_sonde(db, identifiant, config["nom_sonde"])
logger.info(f"Create sonde {sonde.__dict__}")
else:
logger.info(f"{sonde.identifiant}: {sonde.nom} already exists")
PROBES[sonde.identifiant] = config
apply_config(configurations)
from_conf = apply_config(atomic_db=atomic_db, configs=configurations)
PROBES.update(from_conf)
class Notifier: