diff --git a/asmodee.py b/asmodee.py index e10ddea..df2940f 100755 --- a/asmodee.py +++ b/asmodee.py @@ -29,7 +29,7 @@ oauth = None #Appels RTE #ecowatt_url = 'https://digital.iservices.rte-france.com/open_api/ecowatt/v4/sandbox/signals' ecowatt_url = 'https://digital.iservices.rte-france.com/open_api/ecowatt/v4/signals' commune_url = 'https://geo.api.gouv.fr/communes?=&fields=nom,code,codesPostaux,population&format=json' -eau_url = 'https://hubeau.eaufrance.fr/api/vbeta/qualite_eau_potable/resultats_dis?=&size=1' +eau_url = 'https://hubeau.eaufrance.fr/api/vbeta/qualite_eau_potable/resultats_dis?=&size=5' wattobj = None @@ -1690,7 +1690,8 @@ async def commune(room, message): villes = json.loads(result.text) if (len(villes) > 0): try: - cite = villes[0] + cites = sorted(villes, key=lambda v: str(v["population"]).zfill(10), reverse=True) + cite = cites[0] codePoste = cite["codesPostaux"][0] pop = cite["population"] insee = cite["code"] @@ -1725,20 +1726,24 @@ async def eau(room, message): eaux = json.loads(result.text) if (len(eaux["data"]) > 0): try: - eau = eaux["data"][0] - nom = eau["nom_commune"] - date = eau["date_prelevement"][0:10] - res = eau["resultat_alphanumerique"] - unite = str(eau["libelle_unite"]) - if (unite == "SANS OBJET"): - unite = "" - limite = "(" + str(eau["limite_qualite_parametre"]) + ")" - if (limite == "(None)"): - limite = "" - param = eau["libelle_parametre"] + " " + limite - concl = eau["conclusion_conformite_prelevement"] - distrib = eau["nom_distributeur"] - await msg(room, "Prélèvement à " + nom + " le " + date + ". \nRésultat : " + res + unite + " / " + param + ".\n" + concl + "\n" + distrib, sender) + f = True + for eau in eaux["data"]: + if (f): + nom = eau["nom_commune"] + distrib = eau["nom_distributeur"] + concl = eau["conclusion_conformite_prelevement"] + await msg(room, "Prélèvement à " + nom + " réseau " + distrib + ". " + concl, sender) + f = False + date = eau["date_prelevement"][0:10] + res = eau["resultat_alphanumerique"] + unite = str(eau["libelle_unite"]) + if (unite == "SANS OBJET"): + unite = "" + limite = "(" + str(eau["limite_qualite_parametre"]) + ")" + if (limite == "(None)"): + limite = "" + param = eau["libelle_parametre"] + " " + limite + await msg(room, "Résultat du " + date + " : " + res + unite + " / " + param + ".", sender) except: await msg(room, str(eaux), sender) else: