diff --git a/Makefile b/Makefile index 1cae41e..5756e3f 100644 --- a/Makefile +++ b/Makefile @@ -22,16 +22,19 @@ kill_server: dev_serve: poetry run uvicorn papi.main:app --reload +cleandb: + rm sql_app.db || echo ls + .ONESHELL: -test: +test: cleandb poetry run pytest --cov=. --cov-report=term-missing:skip-covered . .ONESHELL: -dtest: +dtest: cleandb poetry run pytest -s --pdb --cov=. --cov-report=term-missing:skip-covered . .ONESHELL: -qtest: +qtest: cleandb poetry run pytest -sxv --ff --lf . diff --git a/papi/main.py b/papi/main.py index 857f580..e35b033 100644 --- a/papi/main.py +++ b/papi/main.py @@ -131,9 +131,9 @@ def historique(idsonde): print(len(mesures[idsonde])) for previous, present in zip(mesures[idsonde], mesures[idsonde][1:]): - date = present["date"] - previous = utils.prepare(previous) - present = utils.prepare(present) + date = present.content["date"] + previous = utils.prepare(previous.content) + present = utils.prepare(present.content) all_channels = sorted(set((*previous["channels"], *present["channels"]))) diff = utils.compare(all_channels, previous, present) diff --git a/papi/sqlapp/crud.py b/papi/sqlapp/crud.py index c683098..5018e20 100644 --- a/papi/sqlapp/crud.py +++ b/papi/sqlapp/crud.py @@ -4,9 +4,9 @@ from . import models def get_sonde(db: Session, identifiant: str): - return ( - db.query(models.Sonde).filter(models.Sonde.identifiant == identifiant).first() - ) + q = db.query(models.Sonde) + q = q.filter(models.Sonde.identifiant == identifiant) + return q.first() def create_sonde(db: Session, identifiant: str, nom: str): @@ -25,5 +25,9 @@ def create_mesure(db: Session, sonde_id: int, content: dict): return db_mesure -def get_mesure(db: Session, sonde_id: int): - return db.query(models.Mesure).filter(models.Mesure.sonde_id == sonde_id).all() +def get_mesure(db: Session, sonde_id: int, only_last=False): + q = db.query(models.Mesure).filter(models.Mesure.sonde_id == sonde_id) + if not only_last: + return q.all() + else: + return [q.all()[-1]] # order by id desc limit 1