From cd7de074603ec9ea060ed4c493fe721988a8e0d6 Mon Sep 17 00:00:00 2001 From: Colin Goutte Date: Sun, 12 Dec 2021 09:28:22 +0100 Subject: [PATCH] Use apply config from other module --- papi/config.py | 17 ++++++++++++++--- papi/main.py | 22 +++------------------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/papi/config.py b/papi/config.py index 44d8fb5..8645a5d 100644 --- a/papi/config.py +++ b/papi/config.py @@ -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 diff --git a/papi/main.py b/papi/main.py index c106fbb..d59aee5 100644 --- a/papi/main.py +++ b/papi/main.py @@ -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: