Commit ad253e4c authored by Lionel's avatar Lionel
Browse files

Plus de printf, Generalisation utilisation du logger

parent 31a5672c
......@@ -2,6 +2,7 @@ import argparse
import crater.politique_fonciere.calculateur as calculateur_politique_fonciere
import crater.population_agricole.calculateur as calculateur_population_agricole
from crater.crater_logger import log
from crater.outils import comparer_valeurs, reinitialiser_dossier
from crater.parcel import collecteur_besoins_api_parcel
from crater.parcel.collecteur_besoins_api_parcel import ID_ASSIETTE_ACTUELLE, ID_ASSIETTE_MOINS_25_POURCENT, \
......@@ -83,8 +84,8 @@ def verifier_donnees(
sources_politique_fonciere,
chemin_fichier_log
):
print("\n##### VERIFICATION DES DONNEES #####")
print(" => Export des vérifications vers", chemin_fichier_log)
log.info("\n##### VERIFICATION DES DONNEES #####")
log.info(" => Export des vérifications vers %s", chemin_fichier_log)
with open(chemin_fichier_log, "a") as fichier:
fichier.write("*** INFORMATIONS GENERALES ***\n")
......@@ -352,7 +353,7 @@ if __name__ == '__main__':
args = parser.parse_args()
if (args.ETAPE == 'parcel-besoins-assiette-actuelle'):
print("Génération du fichier des besoins SAUs pour les territoires à partir de l'API PARCEL, assiette actuelle")
log.info("Génération du fichier des besoins SAUs pour les territoires à partir de l'API PARCEL, assiette actuelle")
collecteur_besoins_api_parcel.collecter_donnees_besoins_parcel(
ID_ASSIETTE_ACTUELLE,
CHEMIN_CRATER_DATA_SOURCES / DOSSIER_PARCEL / 'correspondance_territoires_parcel_crater.csv',
......@@ -360,7 +361,7 @@ if __name__ == '__main__':
CHEMIN_OUTPUT_DATA / DOSSIER_PARCEL / 'reponse_api_parcel_besoins_sau_par_produits_assiette_actuelle.csv'
)
elif (args.ETAPE == 'parcel-besoins-assiette-25p'):
print(
log.info(
"Génération du fichier des besoins SAUs pour les territoires à partir de l'API PARCEL, assiette -25% viande")
collecteur_besoins_api_parcel.collecter_donnees_besoins_parcel(
ID_ASSIETTE_MOINS_25_POURCENT,
......@@ -369,7 +370,7 @@ if __name__ == '__main__':
CHEMIN_OUTPUT_DATA / DOSSIER_PARCEL / 'reponse_api_parcel_besoins_sau_par_produits_assiette_moins_25p.csv'
)
elif (args.ETAPE == 'parcel-besoins-assiette-50p'):
print(
log.info(
"Génération du fichier des besoins SAUs pour les territoires à partir de l'API PARCEL, assiette -50% viande")
collecteur_besoins_api_parcel.collecter_donnees_besoins_parcel(
ID_ASSIETTE_MOINS_50_POURCENT,
......@@ -378,19 +379,19 @@ if __name__ == '__main__':
CHEMIN_OUTPUT_DATA / DOSSIER_PARCEL / 'reponse_api_parcel_besoins_sau_par_produits_assiette_moins_50p.csv'
)
elif (args.ETAPE == 'crater'):
print("Génération des fichiers résultats CRATER")
log.info("Génération des fichiers résultats CRATER")
generer_fichiers_resultats_crater()
elif (args.ETAPE == 'territoires'):
print("Génération des fichiers résultats CRATER pour les territoires")
log.info("Génération des fichiers résultats CRATER pour les territoires")
lancer_generation_territoires()
elif (args.ETAPE == 'production-besoins'):
print("Génération des fichiers résultats CRATER pour l'axe production/besoins")
log.info("Génération des fichiers résultats CRATER pour l'axe production/besoins")
lancer_calcul_production_besoins()
elif (args.ETAPE == 'pratiques-agricoles'):
print("Génération des fichiers résultats CRATER pour l'axe pratiques agricoles")
log.info("Génération des fichiers résultats CRATER pour l'axe pratiques agricoles")
lancer_calcul_pratiques_agricoles()
elif (args.ETAPE == 'politique-fonciere'):
print("Génération des fichiers résultats CRATER pour l'axe politique foncière")
log.info("Génération des fichiers résultats CRATER pour l'axe politique foncière")
lancer_calcul_politique_fonciere()
else:
parser.print_help()
......@@ -5,6 +5,8 @@ from typing import Dict, List
import numpy as np
import pandas as pd
from crater.crater_logger import log
DictTerritoires: type = Dict[str, pd.DataFrame]
Territoires: type = pd.DataFrame
......@@ -130,7 +132,7 @@ def message_synthese(
else:
classes[p] = s + 1
else:
print(parametres[p][2])
log.info(parametres[p][2])
raise ValueError("ERREUR : argument incorrect !")
# messages
......
......@@ -6,6 +6,7 @@ import requests
from pandas import Series
from unidecode import unidecode
from crater.crater_logger import log
from crater.outils import reinitialiser_dossier
URL_BASE_API_PARCEL = "http://convertisseur.azurewebsites.net/API"
......@@ -42,7 +43,7 @@ def collecter_donnees_besoins_parcel(
for index, row in id_territoires.iterrows():
if (str(index).endswith('0')):
print("Récupération données surface via API PARCEL, territoire numéro " + str(index))
log.info("Récupération données surface via API PARCEL, territoire numéro %s", str(index))
parcel_produits = _recuperer_donnees_surface_parcel(row.id_territoire_parcel,
id_assiette,
......@@ -80,8 +81,8 @@ def _recuperer_donnees_surface_parcel(id_territoire_parcel,
parcel_produits['date_import'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
except:
print(
f"ERREUR : Erreur lors de la collecte des données de surface Parcel pour le territoire {id_territoire_parcel}")
log.info(
"ERREUR : Erreur lors de la collecte des données de surface Parcel pour le territoire %s", id_territoire_parcel)
parcel_produits['resultat_import'] = "KO"
parcel_produits['date_import'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
......
......@@ -3,6 +3,7 @@ from pathlib import Path
import pandas
import requests
from crater.crater_logger import log
from crater.outils import reinitialiser_dossier
from crater.parcel.collecteur_besoins_api_parcel import _normaliser_chaine_caractere, URL_BASE_API_PARCEL
......@@ -95,7 +96,7 @@ def _ajouter_donnees_territoire_parcel(ligne_territoire):
def _requeter_id_territoire_parcel(nom_territoire_crater, numero_ligne_courante):
if (str(numero_ligne_courante).endswith('0')):
print("Requete PARCEL numéro " + str(numero_ligne_courante))
log.info("Requete PARCEL numéro %s", str(numero_ligne_courante))
r = requests.get(f"{URL_BASE_API_PARCEL}/GeoData/{nom_territoire_crater}")
......@@ -107,8 +108,7 @@ def _requeter_id_territoire_parcel(nom_territoire_crater, numero_ligne_courante)
r = requests.get(f"{URL_BASE_API_PARCEL}/GeoData/{nom_territoire_crater}")
if r.status_code not in range(200, 299):
print(
f"ERREUR : Parcel a retourné une erreur : requete numéro {numero_ligne_courante}, code retour= {r.status_code}, territoire={nom_territoire_crater}, details={r.content}")
log.info("ERREUR : Parcel a retourné une erreur : requete numéro %s, code retour= %s, territoire=%s, details=%s", numero_ligne_courante, r.status_code, nom_territoire_crater, r.content)
return "ERREUR", "Code retour <> 200", 0, r.status_code
try:
results = r.json()
......@@ -118,7 +118,8 @@ def _requeter_id_territoire_parcel(nom_territoire_crater, numero_ligne_courante)
nom_territoire_parcel = results[0]['localeName']
pourcentage_confiance_resultat = 100 / len(results)
except:
print(
f"ERREUR : Impossible de lire la réponse Parcel : requete numéro {numero_ligne_courante}, code retour= {r.status_code}, territoire={nom_territoire_crater}, details={r.content}")
log.info(
"ERREUR : Impossible de lire la réponse Parcel : requete numéro %s, code retour= %s, territoire=%s, details=%s",
numero_ligne_courante, r.status_code, nom_territoire_crater, r.content)
return "ERREUR", "Impossible de lire les données", 0, 1000
return id_territoire_parcel, nom_territoire_parcel, pourcentage_confiance_resultat, r.status_code
......@@ -5,6 +5,7 @@ import crater.politique_fonciere.politique_artificialisation as politique_artifi
import crater.politique_fonciere.sau_par_habitant as sau_par_habitant
import crater.politique_fonciere.synthese_politique_fonciere as synthese_politique_fonciere
import crater.politique_fonciere.rythme_artificialisation_sau as rythme_artificialisation_sau
from crater.crater_logger import log
from crater.outils import reinitialiser_dossier, DictTerritoires, supprimer_donnees_apres_annee_mouvement_commune
from crater.territoires import outils as outils_territoires
from crater.territoires.outils import traduire_code_insee_vers_id_commune_crater
......@@ -14,7 +15,7 @@ def calculer(
referentiel_territoires,
sources_politique_fonciere
):
print("\n##### CALCUL POLITIQUE FONCIERE #####")
log.info("\n##### CALCUL POLITIQUE FONCIERE #####")
donnees_politique_fonciere = calculer_donnees_politique_fonciere(referentiel_territoires,
sources_politique_fonciere)
......@@ -83,7 +84,7 @@ def exporter(
politique_fonciere,
chemin_dossier_output
):
print("\n##### EXPORT POLITIQUE FONCIERE #####")
log.info("\n##### EXPORT POLITIQUE FONCIERE #####")
reinitialiser_dossier(chemin_dossier_output)
outils_territoires.imprimer_et_exporter(
......@@ -116,7 +117,7 @@ def exporter(
def charger_sources(
chemin_fichier_artificialisation
):
print("\n##### CHARGEMEMENT DES DONNEES SOURCES POLITIQUE FONCIERE #####")
log.info("\n##### CHARGEMEMENT DES DONNEES SOURCES POLITIQUE FONCIERE #####")
artificialisation = chargeur_artificialisation.charger(chemin_fichier_artificialisation)
artificialisation.id_commune = traduire_code_insee_vers_id_commune_crater(artificialisation.id_commune)
......@@ -130,8 +131,8 @@ def exporter_sources(
sources,
chemin_dossier_output
):
print("\n##### EXPORT DES DONNEES SOURCES POLITIQUE FONCIERE #####")
print(f" => vers {chemin_dossier_output}")
log.info("\n##### EXPORT DES DONNEES SOURCES POLITIQUE FONCIERE #####")
log.info(" => vers %s", chemin_dossier_output)
reinitialiser_dossier(chemin_dossier_output)
for t in sources:
......
import pandas as pd
from crater.crater_logger import log
def charger(chemin_fichier):
print(f" => Chargement artificialisation depuis {chemin_fichier}")
log.info(" => Chargement artificialisation depuis %s", chemin_fichier)
return pd.read_csv(
chemin_fichier,
......
import pandas
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
def calculer(territoires):
print(" => Indicateur efficacité artificialisation")
log.info(" => Indicateur efficacité artificialisation")
indicateur = outils_territoires.copier_en_gardant_colonnes(
territoires,
......
import crater.outils as outils
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
def calculer(territoires):
print(" => Indicateur rythme d'artificialisation de la sau")
log.info(" => Indicateur rythme d'artificialisation de la sau")
indicateur = outils_territoires.copier_en_gardant_colonnes(
territoires,
......
import crater.outils as outils
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
from crater.politique_fonciere.parametres import seuil_regime_tres_vegetal, seuil_regime_actuel
def calculer(territoires):
print(" => Indicateur sau par habitant")
log.info(" => Indicateur sau par habitant")
indicateur = outils_territoires.copier_en_gardant_colonnes(
territoires,
......
import numpy as np
import crater.territoires.outils as outils_territoires
import crater.outils as outils
from crater.crater_logger import log
from crater.politique_fonciere.parametres import seuil_regime_tres_vegetal, seuil_regime_moins_carne, seuil_regime_actuel
def calculer(
......@@ -8,7 +9,7 @@ def calculer(
indicateur_rythme_artificialisation_sau
):
print(" => Synthèse")
log.info(" => Synthèse")
synthese = outils_territoires.joindre(
outils_territoires.copier_en_gardant_colonnes(
......
......@@ -7,12 +7,13 @@ import crater.population_agricole.part_population_agricole_1988 as part_populati
import crater.population_agricole.part_population_agricole_2010 as part_population_agricole_2010
import crater.population_agricole.synthese_population_agricole as synthese_population_agricole
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
from crater.outils import reinitialiser_dossier, DictTerritoires, supprimer_donnees_apres_annee_mouvement_commune
from crater.territoires.outils import traduire_code_insee_vers_id_commune_crater
def calculer(referentiel_territoires, sources_population_agricole):
print("\n##### CALCUL POPULATION AGRICOLE #####")
log.info("\n##### CALCUL POPULATION AGRICOLE #####")
donnees_population_agricole: DictTerritoires = calculer_donnees_population_agricole(referentiel_territoires,
sources_population_agricole[
......@@ -40,7 +41,7 @@ def exporter(
population_agricole,
chemin_dossier_output
):
print("\n##### EXPORT POPULATION AGRICOLE #####")
log.info("\n##### EXPORT POPULATION AGRICOLE #####")
reinitialiser_dossier(chemin_dossier_output)
outils_territoires.imprimer_et_exporter(
......@@ -73,7 +74,7 @@ def exporter(
def charger_sources(
chemin_fichier_actifs_agricoles_permanents
):
print("\n##### CHARGEMEMENT DES DONNEES SOURCES POPULATION AGRICOLE #####")
log.info("\n##### CHARGEMEMENT DES DONNEES SOURCES POPULATION AGRICOLE #####")
actifs_agricoles_permanents = pd.merge(
chargeur_population_agricole.charger(
......@@ -104,8 +105,8 @@ def exporter_sources(
sources,
chemin_dossier_output
):
print("\n##### EXPORT DES DONNEES SOURCES POPULATION AGRICOLE #####")
print(f" => vers {chemin_dossier_output}")
log.info("\n##### EXPORT DES DONNEES SOURCES POPULATION AGRICOLE #####")
log.info(" => vers %s", chemin_dossier_output)
reinitialiser_dossier(chemin_dossier_output)
......
......@@ -2,9 +2,11 @@ import zipfile
import pandas as pd
from crater.crater_logger import log
def charger(chemin_fichier, fichier):
print(f" => Chargement actifs agricoles permanents depuis {chemin_fichier / fichier}")
log.info(" => Chargement actifs agricoles permanents depuis %s", chemin_fichier / fichier)
archive = zipfile.ZipFile(chemin_fichier, 'r')
......
import crater.outils as outils
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
def calculer(territoires):
print(" => Indicateur évolution part population agricole ***")
log.info(" => Indicateur évolution part population agricole ***")
indicateur = outils_territoires.copier_en_gardant_colonnes(
territoires,
......
import crater.outils as outils
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
def calculer(territoires):
print(" => Indicateur part population agricole 1988 ***")
log.info(" => Indicateur part population agricole 1988 ***")
indicateur = outils_territoires.copier_en_gardant_colonnes(
territoires,
......
import crater.outils as outils
import crater.territoires.outils as outils_territoires
from crater.crater_logger import log
def calculer(territoires):
print(" => Indicateur part population agricole 2010 ***")
log.info(" => Indicateur part population agricole 2010 ***")
indicateur = outils_territoires.copier_en_gardant_colonnes(
territoires,
......
import numpy as np
import crater.territoires.outils as outils_territoires
import crater.outils as outils
from crater.crater_logger import log
def calculer(
indicateur_part_population_agricole_2010,
indicateur_evolution_part_population_agricole
):
print(" => Synthèse")
log.info(" => Synthèse")
synthese = outils_territoires.joindre(
outils_territoires.copier_en_gardant_colonnes(
......
from pathlib import Path
from crater.crater_logger import log
from crater.pratiques_agricoles.indicateur_hvn import ajouter_indicateur_hvn
from crater.pratiques_agricoles.indicateur_part_sau_bio import ajouter_indicateur_part_sau_bio
from crater.pratiques_agricoles.synthese_pratiques_agricoles import ajouter_synthese_pratiques_agricoles
......@@ -14,7 +15,7 @@ def calculer_pratiques_agricoles(
chemin_fichier_surfaces_bio: Path,
chemin_dossier_output: Path
) -> Territoires:
print("\n##### CALCUL PRATIQUES AGRICOLES #####")
log.info("\n##### CALCUL PRATIQUES AGRICOLES #####")
donnees_pratiques_agricoles = outils_territoires.assembler_dict_territoires_en_df_territoires(
outils_territoires.copier_en_gardant_colonnes(
......@@ -48,7 +49,7 @@ def _exporter(
donnees_pratiques_agricoles: Territoires,
chemin_dossier_output: Path
):
print("\n##### EXPORT PRATIQUES AGRICOLES #####")
log.info("\n##### EXPORT PRATIQUES AGRICOLES #####")
reinitialiser_dossier(chemin_dossier_output)
donnees_pratiques_agricoles.drop(
......
......@@ -2,6 +2,7 @@ from pathlib import Path
import pandas as pd
from crater.crater_logger import log
from crater.territoires.outils import (
traduire_code_insee_vers_id_commune_crater,
traduire_code_insee_vers_id_epci_crater,
......@@ -11,7 +12,7 @@ from crater.territoires.outils import (
def charger_source_hvn(chemin_fichier: Path) -> pd.DataFrame:
print(f" => Chargement HVN depuis {chemin_fichier}")
log.info(" => Chargement HVN depuis %s", chemin_fichier)
return pd.read_excel(
chemin_fichier,
......@@ -52,7 +53,7 @@ def importer_hvn(chemin_fichier_hvn: Path):
def charger_surfaces_bio(chemin_fichier: Path) -> pd.DataFrame:
print(f" => Chargement des surfaces bio depuis {chemin_fichier}")
log.info(" => Chargement des surfaces bio depuis %s", chemin_fichier)
return pd.read_excel(
chemin_fichier,
......
......@@ -2,6 +2,7 @@ from pathlib import Path
import pandas as pd
from crater.crater_logger import log
from crater.outils import (
DictTerritoires,
Territoires,
......@@ -16,7 +17,7 @@ def ajouter_indicateur_hvn(
referentiel_territoires: DictTerritoires,
chemin_fichier_hvn
) -> Territoires:
print(" => Indicateur HVN")
log.info(" => Indicateur HVN")
donnees_pratiques_agricoles = _ajouter_donnees_hvn(
donnees_pratiques_agricoles,
......
......@@ -3,6 +3,7 @@ from pathlib import Path
import numpy
import pandas as pd
from crater.crater_logger import log
from crater.outils import (
DictTerritoires,
Territoires,
......@@ -18,7 +19,7 @@ def ajouter_indicateur_part_sau_bio(
referentiel_territoires: DictTerritoires,
chemin_fichier_surfaces_bio: Path
) -> Territoires:
print(" => Indicateur Part SAU Bio")
log.info(" => Indicateur Part SAU Bio")
donnees_pratiques_agricoles = _ajouter_donnees_surfaces_bio(
donnees_pratiques_agricoles,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment