Home Assistant Git Exporter
This commit is contained in:
156
config/custom_components/vigieau/scripts/full_usage_list.json
Normal file
156
config/custom_components/vigieau/scripts/full_usage_list.json
Normal file
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"restrictions": [
|
||||
{
|
||||
"usage": "Abreuvement des animaux",
|
||||
"thematique": "Abreuver"
|
||||
},
|
||||
{
|
||||
"usage": "Activités de loisirs professionnelles ou amateurs en cours d’eau.",
|
||||
"thematique": "Travaux et activités en cours d'eau"
|
||||
},
|
||||
{
|
||||
"usage": "Alimentation des fontaines publiques",
|
||||
"thematique": "Alimenter des fontaines et autres usages de loisirs"
|
||||
},
|
||||
{
|
||||
"usage": "Alimentation des fontaines publiques et privées d’ornement",
|
||||
"thematique": "Alimenter des fontaines et autres usages de loisirs"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des golfs",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des golfs(Conformément à l'accord cadre golf et environnement 2019-2024",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des jardins potagers",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des jardins potagers collectifs",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des jardins potagers individuels",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des pelouses, massifs fleuris",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des pelouses, massifs fleuris et espaces verts (y compris rond-points, voies de tramway).",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "Arrosage des terrains de sport",
|
||||
"thematique": "Arroser"
|
||||
},
|
||||
{
|
||||
"usage": "ICPE soumises à un APC relatif à la sécheresse",
|
||||
"thematique": "ICPE"
|
||||
},
|
||||
{
|
||||
"usage": "Irrigation par aspersion des cultures",
|
||||
"thematique": "Irriguer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage de véhicules chez les particuliers",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage de véhicules en station professionnelle",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage de véhicules et bateaux chez les particuliers",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage de véhicules par des particuliers, y compris embarcations motorisées ou non (exemple : Jet ski).",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage de véhicules par des professionnels",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage de véhicules publics ou privés en stations de lavage professionnelles.",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage des bateaux",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Lavage et entretien des embarcations (motorisées ou non) en aire de carénage.",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Navigation fluviale.",
|
||||
"thematique": "Travaux et activités en cours d'eau"
|
||||
},
|
||||
{
|
||||
"usage": "Nettoyage des façades, terrasses et murs de clôture",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Nettoyage des façades, toitures, trottoirs et autres surfaces imperméabilisées",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Nettoyage des façades, toitures, trottoirs et autres surfaces imperméabilisées hors activités industrielles.",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Nettoyage des façades, toitures, trottoirs, terrasses, façades imperméabilisées...",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Nettoyage des voieries",
|
||||
"thematique": "Nettoyer"
|
||||
},
|
||||
{
|
||||
"usage": "Orpaillage et pêche à l’aimant.",
|
||||
"thematique": "Travaux et activités en cours d'eau"
|
||||
},
|
||||
{
|
||||
"usage": "Rejets et travaux en rivière",
|
||||
"thematique": "Travaux et activités en cours d'eau"
|
||||
},
|
||||
{
|
||||
"usage": "Remplissage / vidange des plans d'eau",
|
||||
"thematique": "Remplir ou vidanger"
|
||||
},
|
||||
{
|
||||
"usage": "Remplissage / vidange des plans d'eau.",
|
||||
"thematique": "Remplir ou vidanger"
|
||||
},
|
||||
{
|
||||
"usage": "Remplissage et vidange de piscines privées",
|
||||
"thematique": "Remplir ou vidanger"
|
||||
},
|
||||
{
|
||||
"usage": "Remplissage et vidange de piscines privées (de plus d'1 m3)",
|
||||
"thematique": "Remplir ou vidanger"
|
||||
},
|
||||
{
|
||||
"usage": "Remplissage et vidange de piscines privées (de plus d'1 m3).",
|
||||
"thematique": "Remplir ou vidanger"
|
||||
},
|
||||
{
|
||||
"usage": "Travaux en cours d’eau",
|
||||
"thematique": "Travaux et activités en cours d'eau"
|
||||
},
|
||||
{
|
||||
"usage": "Travaux en cours d’eau.",
|
||||
"thematique": "Travaux et activités en cours d'eau"
|
||||
},
|
||||
{
|
||||
"usage": "Usages récréatifs collectifs à partir d’eau potable (dans le cadre de manifestations).",
|
||||
"thematique": "Remplir ou vidanger"
|
||||
}
|
||||
]
|
||||
}
|
||||
59
config/custom_components/vigieau/scripts/generate_list.py
Normal file
59
config/custom_components/vigieau/scripts/generate_list.py
Normal file
@@ -0,0 +1,59 @@
|
||||
import aiohttp
|
||||
import asyncio
|
||||
import os
|
||||
import json
|
||||
from frozendict import frozendict
|
||||
import sys
|
||||
|
||||
current_dir = os.path.dirname(__file__)
|
||||
parent_dir = os.path.dirname(current_dir)
|
||||
sys.path.append(".")
|
||||
sys.path.append(parent_dir)
|
||||
|
||||
from custom_components.vigieau.api import InseeApi, VigieauApi, VigieauApiError
|
||||
|
||||
|
||||
async def main():
|
||||
restriction_list = {"restrictions": []}
|
||||
usages = set()
|
||||
async with aiohttp.ClientSession() as session:
|
||||
vigieau = VigieauApi(session)
|
||||
commune_list = await InseeApi(session).get_insee_list()
|
||||
for i, commune in enumerate(commune_list):
|
||||
print(f"{i}/{len(commune_list)}: {commune['nom']}")
|
||||
try:
|
||||
restriction = await vigieau.get_data(
|
||||
insee_code=commune["code"],
|
||||
profil="particulier",
|
||||
lat=commune["centre"]["coordinates"][1],
|
||||
long=commune["centre"]["coordinates"][0],
|
||||
)
|
||||
except VigieauApiError as e:
|
||||
print(e.text)
|
||||
# FIXME: Sometimes insee is enough to call vigieau Api, sometimes not exclude the one where it's not enough , for the moment
|
||||
if restriction:
|
||||
for usage in restriction.get("usages", []):
|
||||
usages.add(
|
||||
frozendict(
|
||||
{"usage": usage["nom"], "thematique": usage["thematique"]}
|
||||
)
|
||||
)
|
||||
if i % 10 == 0:
|
||||
dump_restrictions(restriction_list, usages)
|
||||
dump_restrictions(restriction_list, usages)
|
||||
|
||||
|
||||
def dump_restrictions(restriction_list, usages):
|
||||
restriction_list["restrictions"] = sorted(
|
||||
list(usages), key=lambda h: h["usage"]
|
||||
)
|
||||
|
||||
finaldata = json.dumps(restriction_list, ensure_ascii=False, indent=2)
|
||||
file = os.path.join(os.path.dirname(__file__), "full_usage_list.json")
|
||||
|
||||
with open(file, "w", encoding="utf-8") as outfile:
|
||||
outfile.write(finaldata)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user