diff --git a/papi/main.py b/papi/main.py index 08780ad..58eaffa 100644 --- a/papi/main.py +++ b/papi/main.py @@ -98,7 +98,11 @@ def list_notification(idsonde: str): @app.get("/notifications/{idsonde}/text") def list_notification_as_text(request: Request, idsonde: str): - content = notifications[idsonde][-1] + notifs = notifications[idsonde] + try: + content =notifs[-1] + except IndexError: + return try: recipients = sondeid2notifsemails(idsonde) except KeyError: @@ -207,10 +211,9 @@ def list_notification_as_text( if message.endswith(k): return "color: %s;" % v return "" - if not (sonde := crud.get_sonde(db, idsonde)): return - mesures = sonde.mesures + mesures = [x for x in crud.get_mesure(db, sonde.sonde_id, only_last=100)] res = [] diff --git a/papi/sqlapp/crud.py b/papi/sqlapp/crud.py index 5018e20..306e186 100644 --- a/papi/sqlapp/crud.py +++ b/papi/sqlapp/crud.py @@ -25,9 +25,11 @@ def create_mesure(db: Session, sonde_id: int, content: dict): return db_mesure -def get_mesure(db: Session, sonde_id: int, only_last=False): +def get_mesure(db: Session, sonde_id: int, only_last: int =0): 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 + q = q.order_by(models.Mesure.mesure_id.desc()).limit(only_last) + + return reversed(q.all()) # order by id desc limit 1