Use apply config from other module
This commit is contained in:
parent
292a89a2ca
commit
cd7de07460
|
@ -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
|
||||
|
|
22
papi/main.py
22
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:
|
||||
|
|
Loading…
Reference in New Issue