Éléments des contrôleurs de l’API¶
Fonctions du module contrôleurs¶
Module de gestion des requêtes SQL utilisées par l’API.
- class QueryBuilder(from_relation, schema=None)¶
Bases :
object
Classe permettant de construire des requêtes SQL complexes à l’aide de méthodes simples. L’intérêt principal est de pouvoir gérer automatiquement les alias des relations.
- add_complex_filter(tables, values=None, expression=None)¶
exemple d’expression à remplir : “{0}.id = ${{}} or {1}.id = ${{}}”
- add_complex_having(tables, values=None, expression=None)¶
- add_filter(table, column, value, schema=None, operator='=', index=0, as_param=True)¶
- add_groupby(table, column, schema=None, index=0)¶
- add_join(table, schema=None, jointype='join', on='', index=0, use_join_alias=False)¶
- add_orderby(table, column, schema=None, index=0)¶
- add_select(expression=None, schema=None, table=None, column=None, index=0)¶
- get_alias(table, index=0)¶
Récupère l’alias créé pour la table et l’index correspondant index > 0 si plusieurs références à la même table
- property query¶
- async add_to_data_history(region, schema, user, action, data_name, details='')¶
Adds action to data history table for current region.
- Paramètres
region (string) – current region key
schema (string) – the schema in which to insert the event
user (object) – the user object
action (string) – the action performed
data_name (string) – the data name or a string representing the data
details (string, optional) – additionnal details, either pure string or formatted json, by default « »
- async chercher_fichier_des_communes(chemin, nom, l93=True)¶
Retourne le chemin absolu vers le fichier COMMUNES.shp au sein d’une arborescence dont la racine est à indiquer en paramètre
- Paramètres
chemin (str) – Chemin d’accès au répertoire depuis lequel lancer la recherche
- compute_formula(raw_formula)¶
Retourne la définition de l’indicateur (colonne data) décomposée dans un dictionnaire
- Type renvoyé
- conversion_binaire_en_chaine(binaire)¶
Décode une chaîne de caractères en binaire.
- Paramètres
chaine (chaîne de caractères en binaire) – chaîne de caractères décodée
- Renvoie
Chaîne de caractères décodée et donc lisible
- Type renvoyé
Chaîne de caractères
- conversion_chaine_en_binaire(chaine)¶
convertit une chaine de caractères en binaire (un octet par lettre).
- Paramètres
chaine (chaîne de caractères) – chaîne de caractères à convertir en binaire
- Renvoie
Chaîne de caractères au format binaire : suite d’octets séparés à chaque fois par une espace
- Type renvoyé
Chaîne de caractères
- async copy_to_table(schema, table, source, columns=None, replace=True)¶
Copie des données tabulaires issues d’un fichier (.csv) dans une table.
La table doit exister.
- Paramètres
schema (str) – Nom du schéma
table (str) – Nom de la table où vont être copiées les données
source (Path) – Nom du fichier CSV
columns (list) – Colonnes à préciser si en-tête à un ordre différent de l’ordre des colonnes
replace (boolean) – Efface les données de la table avant la copie. Si Faux, ajoute les données
- Renvoie
Nombre de lignes insérées
- Type renvoyé
- async execute(*args)¶
Exécute une requete en utilisant le pool de connection.
- Paramètres
args (list) – liste des arguments de la fonction asyncpg execute
- Type renvoyé
None
- async fetch(*args)¶
Fonction permettant de récupérer les données en base en utilisant le pool de connection.
- Paramètres
args (list) – liste des arguments de la fonction asyncpg fetch
- Type renvoyé
une promesse de résultat
- async get_categories_full_contents(region)¶
Récupère la liste des catégories pour une région donnée.
- async get_common_dataset_table(global_region, table_name)¶
Retrieve the content from a table of common data set.
- async get_data_table(region, table_name)¶
Get the full content of a table.
- async get_data_tables_headers(region, list_tables)¶
Get the first 5 rows of each data table for a given region.
- get_pg_engine()¶
Return the sqlAlchemy engine to access the postgresql database
- async get_update_date(region, list_tables)¶
Get update date of each data table for a given region.
- async list_categories(region)¶
Récupère la liste des catégories pour une région donnée.
- async list_categories_modalites(region)¶
Récupère la liste des catégories et des modalites pour une région donnée.
- async list_tables(region)¶
Récupère la liste des tables de données (indicateurs) pour une région donnée.
- async liste_tables_jdd_communs(region)¶
Récupère la liste des tables de données (indicateurs) pour une région donnée.
- async move_table_from_france_to_region(region, table, maj)¶
Copies a data table from the “france” schema to the regional schema. Keeps only the communes of the specified region.
A commune belongs to a region if the first two characters of its code correspond to a department code in <region>.departement. With this definition, even the communes of the region that do not exist in the current perimeter (in <region>.commune) are kept.
If the table contains a “commune_dest” column (flow data), the filtering is also done on this second column.
- async table_datatypes(schema, table)¶
Récupère les noms et types des champs d’une table donnée.
Si le résultat renvoie un dictionnaire vide, la table n’existe sans doute pas (ou inaccessible en lecture par le pguser).
Submodules du module contrôleurs¶
actions module (controller)¶
Fonctions et requêtes SQL pour l’impact énergie des actions
- async diagnostic_polluants_atmospheriques(region, zone, zone_id)¶
- async export_excel(region, impact_energie, polluants, output_filepath, ges_export_excel)¶
Génère un fichier Excel au format ADEME pour les PCAET.
Récupère à la fois les dernières données disponibles ainsi que les résultats des stratégies territoriales pour les émissions GES, conso énergie, production EnR, polluants atmosphériques et remplit les feuilles de calcul du fichier Excel au format ADEME.
- async export_excel_conso_ges_enr(region, impact_energie, wb, ges_export_excel)¶
Remplit un fichier Excel au format ADEME pour la conso énergie, émission GES et prod EnR à partir des résultats des actions : conso énergie, émission GES, etc.
- Paramètres
impact_energie (dict) – Impacts sur la production des EnR causés par la saisie de paramètres dans les actions de production d’énergie renouvelable
wb (openpyxl.workbook.Workbook) –
- export_excel_polluants_atmospheriques(polluants, wb)¶
Remplit un fichier Excel au format ADEME sur les polluants atmosphériques.
- Paramètres
polluants (dict) – Données sur les polluants atmosphériques par secteur pour chaque type de polluant.
wb (openpyxl.workbook.Workbook) –
- async get_list(region)¶
- async get_percent_equipement_chauffage_residentiel_tertiaire(region, zone, zone_id, action, provenance, advanced_params={})¶
- retourne les répartitions des équipements de chauffage dans le secteur résidentiel / tertaire
pour l’année de référence (la dernière année de la disponibilité des données dans la BD TS).
- Paramètres
- Renvoie
dict – Avec l’ensemble des répartitions des équipements de chauffage
- Type renvoyé
%
- async impact_energie_production_renouvelable(csv_params, region, zone, zone_id, action_year, action_params, params_advanced, regional_config={})¶
Impact de production d’énergie, recette fiscale et facture.
Pour les émissions GES évitées par la production d’énergie renouvelable, les différentes fonctions spécifiques à chaque action continuent de le calculer. Néanmoins, on décide de ne pas le prendre en compte pour l’instant. Il faut pour cela une nouvelle modélisation et la capacité à relier un type de production à un secteur ou type d’énergie. cf https://gitlab.com/terristory/terristory/issues/501
- async impact_energie_reduction_consommation(csv_params, region, zone, zone_id, actions, action_params, params_advanced, advanced_params_years={}, regional_config={})¶
Fonction pour l’économie d’énergie via action 1, 2, 7 (rénovation & mobilité durable)
- async impact_total(region, zone, zone_id, years, action_year, action_params, advanced_params, advanced_params_years={}, regional_config={})¶
Impact énergétique et émission GES pour les actions.
- Paramètres
region (str) – Nom de la région (schéma)
zone (str) – Nom du territoire
zone_id (str) – Identifiant du territoire
years (set) – Ensemble des années
action_year (dict) – List des identifiants des actions par année
action_params (dict) – Paramètres des actions
advanced_params (dict) – Paramètres avancés des actions
- Renvoie
Avec l’ensemble des simulations des actions (conso énergie, prod enr, émission ges, recette fiscale)
- Type renvoyé
- interpolation_advanced_params_years(advanced_params_years)¶
Returns the interpolated values of the other advanced parameters with years for actions 16 and 17: conversion of heating equipment for residential and tertiary
- interpolation_user_values_conversion_chauffage(anum, action_params, action_reference_params, **kwargs)¶
- retourne paramètres des actions avec les valeurs interpolées pour les actions 16 et 17conversion des équipement
de chauffage pour le résidentiel et le tertaire
- Paramètres
- Renvoie
paramétres des actions avec l’ensemble des paramétres interpolés pour l’action 16 et 17
- Type renvoyé
analyse module¶
Module de gestion des requêtes SQL pour les analyses.
- async activer_analysis(analyse_id: int)¶
Activation d’une analyse
- Paramètres
analyse_id (int) – identifiant d’analyse
- async analysis(region: str, analyse_id: Optional[int] = None, only_active: bool = True, with_territorialsynthesis: bool = False)¶
Récupération de la liste des analyses et de leurs métadonnées (paramètres de visualisations)
- async analysis_ui_themes(region: str)¶
Récupération de la liste des thèmes des indicateurs (paramètres de visualisations)
- Paramètres
region (str) – Nom de la région (schéma en base)
- async check_year_in_data_table(region, zone, zone_id, table_name, year)¶
- async delete_analysis(region, id)¶
Delete an indicator from the database.
- async delete_category(region, category_name, related_indicators=[], related_dashboards_groups=[])¶
Delete a category from the database. Also disable related indicators, and delete all associations between these indicators and charts for this category.
- async delete_data_table(region, table_name)¶
Delete a data table from the database. Also disables related indicators and remove any association inside meta.perimetre_geographique table.
- async desactiver_analysis(analyse_id: int)¶
Désactivation d’une analyse
- Paramètres
analyse_id (int) – identifiant d’analyse
- async get_export_dataframe(zone: str, maille: str, zone_id: str, analysis_meta: dict, year: int | None, estimated_years: list) pd.DataFrame ¶
Return a pandas Dataframe representing the analysis data to export to csv/excel. If year is not specified, every available year for the analysis will be included. If the data is confidential, the territory code is set to « 00000 »
- async get_global_irradiation(region, zone, zone_id)¶
Récupère les valeurs d’irradiations moyennes pour le territoire concerné
- async get_history_by_category(region: str, zone_type: str, zone_id: str, table_name: str, category: str) list[dict[str]] ¶
- async get_pcaet_ademe(region: str, zone_type: str, zone_id: str) pd.DataFrame | None ¶
Fonction qui renvoie les valeurs associées au pcaet ademe.
- Renvoie
pd.DataFrame with columns ({) – « trajectory »: str, « year »: int, « category »: int, « is_ref »: bool, « value »: float,
}
or None if there is no PCAET associated to our zone_id
- async get_pcaet_by_category(region: str, zone_type: str, zone_id: str, table_key: DataSet, category: str, enable_relative_pcaet: bool) list[dict[str]] | None ¶
- async get_pcaet_initial_trajectory(region: str, zone_type: str, zone_id: str, vals_observatoire: dict, observatory_year: int, enable_relative_pcaet: bool) dict[str, dict[str, float]] | None ¶
Fonction qui renvoie les valeurs des trajectoires cibles initiales venant des PCAET. La première année correspond à la dernière année de l’observatoire disponible
- Paramètres
enable_relative_pcaet (bool) – Si on veut les PCAET relatifs ou bruts
- async get_pcaet_objectives(region: str, zone: str, zone_id: str, enable_relative_pcaet: bool) dict[str, dict[str]] | None ¶
Fonction qui renvoie les valeurs des trajectoires PCAET complètes.
- Paramètres
enable_relative_pcaet (bool) – Si on veut les PCAET relatifs ou bruts
- async get_protected_tables(region)¶
Get protected tables for all modules in current region.
Check territorialsynthesis, supra-regional goals and territorial strategy modules.
- async get_relative_pcaet_ademe(region: str, zone_type: str, zone_id: str) pd.DataFrame | None ¶
Fonction qui renvoie les valeurs associées au pcaet ademe relatif (proportion de baisse), multipliées par la valeur observée à l’année de référence.
- Renvoie
pd.DataFrame with columns ({) – « trajectory »: str, « year »: int, « category »: int, « is_ref »: bool, « value »: float,
}
or None if there is no PCAET associated to our zone_id
- async get_territorial_strategy_protected_tables(region)¶
Retrieve protected tables for territorial strategy module inside current region.
- async get_unit_from_analysis(region, unit_id, indicator_id, zone=None)¶
Get unit from analysis and ID
- async is_protected_analysis(region, analysis_id)¶
Get protected analyses in current region
Check territorialsynthesis module.
- async list_categories(region)¶
Retoune la liste des catégories
- Paramètres
region (chaîne de caractères) – Région dont le nom est normalisé (exemples : auvergne-rhone-alpes, paysdelaloire, occitanie)
Retourne –
-------- –
liste – Liste des catégories disponibles
- async list_confid_layers(region: str)¶
Retrieve confid layers parameters for current region.
- Paramètres
region (str) – key used for regional schema
- async obtenir_code_region(region)¶
- async recup_num_siren_mailles(region, zone, zone_id)¶
Renvoie le numéro de siren de la maille concernée
Simple : sans ratio ou sans part
- regulation_valeur_pcaet(dict_pcaet: dict[str, dict[str, float]]) dict[str, dict[str, float]] ¶
Si la consommation d’énergie ou l’émission de GES est supérieure à l’objectif d’évolution, le pourcentage d’évolution est de 0%. Si la production d’ENR est inférieure à l’objectif d’évolution, le pourcentage d’évolution est de 0%.
- async rename_analysis_ui_theme(old_name, new_name, region)¶
Rename indicators” category.
- async update_analysis_ui_theme(data, region)¶
Mise à jour de l’ordre et du thème d’un indicateur
- Paramètres
data (json) – {themes : {id_analyse: ordre} … }
- async update_themes_ui_theme(data, region: str)¶
Mise à jour de l’ordre des themes
- Paramètres
data (json) – {themes : {id_analyse: ordre} … }
- async valeurs_initiales_trajectoire_cible(region, zone, zone_id, actions, enable_pollutants=False, enable_history=True)¶
Récupérer les valeurs initiales des trajectoires cibles (partie plan d’action)
territorial synthesis module (controller)¶
Fonctions et requêtes SQL pour les notes et analyses territorialsynthesis
- async get_territorialsynthesis_notes(schema: str, zone: str, zone_id: str, code: bool = False)¶
Récupération des notes d’un territoire et des statistiques sur tous les indicateurs territorialsynthesis
- Paramètres
- Renvoie
list[Dict] – identifiant de l’analyse numero de l’analyse thème de l’analyse valeur du territoire unité de l’indicateur note du territoire note de la médiane sur tous les territoires du même type valeur médiane valeur min valeur max
- Type renvoyé
liste des indicateurs avec
- async update_territorialsynthesis_notes(region, notes)¶
Insertion des notes CESBA pour les couples types territoire / analyse
- async update_territorialsynthesis_stats(region, terr, aid, vmin, vmax, medi, median_note)¶
Insertion des données de statisiques des indicateurs territorialsynthesis sur un type de territoire donné et une analyse donnée
donnees_pour_representation module¶
Module pour les classes dont le rôle est de formatter la donnée pour les visualiser selon une représentation spécifique
- class DonneesPourRepresentationCartoIndicateurAutreMaille(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
- async obtenir_donnees(provenance)¶
- class DonneesPourRepresentationCartoIndicateurClimat(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
- async define_periods(max_min_year)¶
Cette fonction permet de calculer les périodes ancienne et récente d’un jeu de données climat
- Paramètres
max_min_year – [{min_year : annee_minimal, max_year : annee_maximal}]
- async min_max_year()¶
Selection des années minimale et maximale de disponibilité de données climat
- async obtenir_donnees(provenance)¶
- Cette fonction permet de:
calculer l’évolution global de l’indicateur climat par territoire
retourner les données map de l’indicateur
retourner les données des stations de mesures
retourner les données charts par station sur une période allant de l’année minimale jusqu’à l’année maximal
- class DonneesPourRepresentationCartoIndicateurDataRatio(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Retourne les données spécifiquement structurées pour les indicateurs qui consistent à diviser un indicateur par un autre
Cf. Documentation des attributs de la classe mère Representations. À faire : définir deux attributs supplémentaires : - Les données associées à l’indicateur courant, - Les données associées à l’indicateur par lequel on divise Puis factoriser ensuite la gestion de la confidentialité.
- async obtenir_donnees(provenance, filtres_categorie={})¶
Retourne les données pour les indicateurs de type “data_ratio”
- Renvoie
donnees_carto – {« map »: données retournées par _obtenir_donnees_par_territoire, confid: {“charts”: Type de confidentialité “A”, “B”, “C”, ou “D”}, total: {“val”: total, “divider”: None}, min_max_valeurs: {“min”: minimum, “max”: maximum} }
- Type renvoyé
- class DonneesPourRepresentationCartoIndicateurFiltre(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Cf. Documentation de la classe mère DonneesPourRepresentationCarto
- async obtenir_donnees(provenance, filtre=0, filtres_categorie={})¶
Retourne les données finales par territoire en ajoutant la confidentialité pour les graphiques et autres informations nécessaires
- Paramètres
filtre (entier) – valeur de seuil avec laquelle on filtre les valeurs d’une des colonnes de la table à partir de laquelle on construit l’indicateur
filtres_categorie – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Renvoie
{« map »: données retournées par _obtenir_donnees_par_territoire, confid: {“charts”: Type de confidentialité “A”, “B”, “C”, ou “D”}, total: {“val”: total, “val_proportion”: proportion pour le territoire sélectionné, “divider”: None}, min_max_valeurs: {“min”: minimum, “max”: maximum}, bornes_filtre: {“min”: minimum, “max”: maximum} Cf. documentation de la méthode _moyenne_proportion }
- Type renvoyé
Dictionnaire
- class DonneesPourRepresentationCartoIndicateurFlux(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
- async obtenir_donnees(provenance, filtre, filtres_categorie={})¶
Retourne les données finales par territoire pour les données de flux (exemple : migrations pendulaires)
- Paramètres
filtres_categorie – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Renvoie
{« map »: [{“val”: 392.0, “orig”: [x_origine, y_origine], “dest”: [x_dest, y_dest], “country_dest”: “99999”, “lab_o”: nom du territoire de départ, “lab_d”: Nom du territoire d’arrivée}, …, {}], confid: {“charts”: Type de confidentialité “A”, “B”, “C”, ou “D”}, total: {“val”: total, “divider”: None}, min_max_valeurs: {“min”: minimum, “max”: maximum} }
- Type renvoyé
Dictionnaires
- class DonneesPourRepresentationCartoIndicateurSimple(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
- async obtenir_donnees(provenance, filtres_categorie={})¶
Retourne les données finales par territoire en ajoutant la confidentialité pour les graphiques et autres informations nécessaires
- Paramètres
filtres_categorie – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Renvoie
{« map »: données retournées par _obtenir_donnees_par_territoire, total: {“val”: total, “divider”: None}, min_max_valeurs: {“min”: minimum, “max”: maximum} }
- Type renvoyé
Dictionnaire
- class DonneesPourRepresentationCartoMoyennePonderee(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Cette classe permet d’obtenir les données cartographiques (par territoire) pour un indicateur de type moyenne pondérée
Cf. Documentation des attributs de la classe mère Representations.
- async obtenir_donnees(provenance, filtres_categorie)¶
Obtention des données moyenne pondérée (d’une colonne par l’autre)
- Paramètres
provenance (str) – page depuis laquelle l’indicateur est lancé (ex : carto, suivi_energetique etc.) )
filtres_categorie (dictionnaire) – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Type renvoyé
Dictionnaire comprenant un tableau de valeurs par territoire
- class DonneesPourRepresentationCourbesEmpilees(*args, **kwargs)¶
Bases :
DonneesPourRepresentations
Obtention des données formattées pour créer des diagrammes circulaires.
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- force_years(years)¶
- class DonneesPourRepresentationCourbesHistoriques(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour créer des courbes historiques.
- async obtenir_donnees(provenance, filtre_categorie={})¶
- class DonneesPourRepresentationDiagramme(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formattées pour créer des diagrammes circulaires.
- async obtenir_donnees(provenance, filtre=0, filtres_categorie={})¶
Retourne les données par catégories (nom de la catégorie, valeurs, libellés des modalités etc.)
- Paramètres
filtre (entier) – valeur de seuil avec laquelle on filtre les valeurs d’une des colonnes de la table à partir de laquelle on construit l’indicateur
filtres_categorie – Cf. la documentation de la méthode _construire_requetes_filtres_categorie
- class DonneesPourRepresentationDiagrammeCategoriesIndependantes(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentationDiagramme
Retourne les données par catégories pour les indicateurs pour lesquelles les catégories sont indépendantes les unes par rapport aux autres
- Paramètres
Representations (Cf. Documentation des attributs de la classe mère) –
- async obtenir_donnees(provenance, filtres_categorie)¶
Obtention des données moyenne pondérée (d’une colonne par l’autre) pour chaque catégorie
- Paramètres
provenance (str) – page depuis laquelle l’indicateur est lancé (ex : carto, suivi_energetique etc.) )
filtres_categorie (dictionnaire) – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Type renvoyé
Dictionnaire comprenant un tableau de valeurs par catégorie
- class DonneesPourRepresentationHistogramme(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour créer des proportionnels en forme des histogrammes.
- async obtenir_donnees()¶
Retourne les données formattées pour l’histogramme cumulé.
- class DonneesPourRepresentationHistogrammeDataRatio(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour créer des proportionnels en forme des histogrammes.
- async obtenir_donnees(provenance, filtre_categorie={})¶
- class DonneesPourRepresentationHistogrammeIndicateurUnique(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour créer des proportionnels en forme des histogrammes.
- async obtenir_donnees(filtre_categorie={})¶
Retourne les données formatées d’un seul indicateur pour la construction d’un histogramme.
- class DonneesPourRepresentationJauge(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formattées pour créer des pictos proportionnels en forme du territoire sélectionné.
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- class DonneesPourRepresentationJaugeCirculaire(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formattées pour créer des proportionnels en forme des diagrammes semi circulaire.
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- async obtenir_donnees()¶
Retourne les données formattées (pourcentage) pour les jauges semi circulaire.
- class DonneesPourRepresentationMarqueurSVG(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour créer des Marqueurs SVG
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- async obtenir_donnees(filters)¶
Retourne les données formatées(Total).
- class DonneesPourRepresentationNomSimple(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour créer des étiquettes avec le nom d’indicateurs
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- async obtenir_donnees()¶
Retourne les données formatées(Nom, unité, id, total).
- class DonneesPourRepresentationPixels(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour une carte de pixels
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- async get_stats_on_indicator()¶
Retourne les valeurs minimale et maximale de l’indicateur pour le territoire sélectionné
- Paramètres
resultats (dictionnaire) – Résultats retournés par _donnees_par_territoire de la classe fille DonneesPourRepresentationCarto
- Renvoie
{« min » : valeur minimale, « max » : valeur maximale}
- Type renvoyé
dictionnaire
- async obtenir_donnees()¶
Retourne les données finales par territoire en ajoutant la confidentialité pour les graphiques et autres informations nécessaires
- Paramètres
filtre (entier) – valeur de seuil avec laquelle on filtre les valeurs d’une des colonnes de la table à partir de laquelle on construit l’indicateur
filtres_categorie – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Renvoie
{« map »: données retournées par _obtenir_donnees_par_territoire, confid: {“charts”: Type de confidentialité “A”, “B”, “C”, ou “D”}, total: {“val”: total, “val_proportion”: proportion pour le territoire sélectionné, “divider”: None}, min_max_valeurs: {“min”: minimum, “max”: maximum}, bornes_filtre: {“min”: minimum, “max”: maximum} Cf. documentation de la méthode _moyenne_proportion }
- Type renvoyé
Dictionnaire
- class DonneesPourRepresentationPixelsCategory(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
DonneesPourRepresentations
Obtention des données formatées pour une carte de pixels qualitatifs
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
- async get_distinct_values()¶
Retourne les valeurs distinctes des catégories pour le territoire sélectionné
- Paramètres
resultats (dictionnaire) – Résultats retournés par _donnees_par_territoire de la classe fille DonneesPourRepresentationCarto
- Renvoie
{« min » : valeur minimale, « max » : valeur maximale}
- Type renvoyé
dictionnaire
- async obtenir_donnees()¶
Retourne les données finales par territoire en ajoutant la confidentialité pour les graphiques et autres informations nécessaires
- Paramètres
filtre (entier) – valeur de seuil avec laquelle on filtre les valeurs d’une des colonnes de la table à partir de laquelle on construit l’indicateur
filtres_categorie – Cf. la documentation de la méthode _construire_requetes_filtres_categories
- Renvoie
{« map »: données retournées par _obtenir_donnees_par_territoire, confid: {“charts”: Type de confidentialité “A”, “B”, “C”, ou “D”}, total: {“val”: total, “val_proportion”: proportion pour le territoire sélectionné, “divider”: None}, min_max_valeurs: {“min”: minimum, “max”: maximum}, bornes_filtre: {“min”: minimum, “max”: maximum} Cf. documentation de la méthode _moyenne_proportion }
- Type renvoyé
Dictionnaire
- class DonneesPourRepresentations(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
Representations
Hérite des attributs et méthodes de Representation grâce auxquelles la méthode de cette classe retourne les données dont on a besoin pour afficher la visualisation cartographique des indica- teurs. Instancie également dynamiquement les classes filles selon la situation.
- async donnees_finales(provenance, filtre, filtres_categorie, reinitialiser_filtres=False)¶
Permet d’obtenir les données qu’on souhaite restituer à l’interface cartographique On y intègre les données relatives à la confidentialité des graphiques et des territoires
- Paramètres
filtre (entier) – Seuil qu’on définit au moyen d’une réglette et avec lequel on filtre les valeurs sur une colonne à spécifier
filtres_categorie (dict) – Cf. documentation de la méthode _construire_requetes_filtres_categories
- class FabriqueRepresentations(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
Representations
Instancie dynamiquement les classes filles de Representations En fonction de l’indicateur sélectionné par l’utilisateur.rice, on a besoin d’instancier la classe appropriée
- Paramètres
Représentations. (Cf. Documentation de la classe mère) –
- abstract donnees_finales()¶
- class FabriqueRepresentationsTableauBord(indicateur_tableau_bord, maille, type_territoire, code_territoire, representation, **kwargs)¶
Bases :
FabriqueRepresentations
Instancie dynamiquement les représentations d’indicateurs pour les afficher dans les tableaux de bord
- Paramètres
mère (Cf. attributs de la classe) –
representation (str) – Représentation sélectionnée par l’utilisateur.rice (courbes empilées, diagrammes circulaires, jauge etc.)
- async donnees_finales(provenance, filtres_categorie={})¶
Retourne les données restituées dans les tableaux de bord
- Paramètres
filtres_categorie (dict) – Cf. documentation de la méthode _construire_requetes_filtres_categories
- Renvoie
Données retournées par les méthodes obtenir_donnees associées à chaque classe fille instanciées dans cette méthode.
- Type renvoyé
Dictionnaire
- property afficher_indicateur_maille¶
- class Representations(caracteristiques_indicateur, maille, type_territoire, code_territoire, specific_year=None, specific_unit_params={})¶
Bases :
ABC
Obtention des données formattées en fonction de la manière dont on souhaite les représenter. On peut représenter les données : - De manière cartographique ; - Sous formes de graphiques restitués avec react-chart-js
Cette classe contient une méthode abstraite obtenir_donnees redéfinies dans les classes filles et des méthodes dont on ne se sert que dans la méthode finale (considérée comme privée).
Parmi les méthodes annexes, certaines permettent de générer les bouts de requêtes grâce auxquels on gère la confidentialité ou encore les filtres.
- Paramètres
indicateur_tableau_bord (IndicateurTableauBord) – Objet IndicateurTableauBord dont les attributs permettent de définir l’indicateur à représenter
maille (str) – Nom de la maille territoriale telle qu’écrite en base
type_territoire (str) – Zone territoriale telle qu’écrite en base
code_territoire (str) – Code du territoire
specific_year (integer, optional) – Specific year to retrieve, if not specified will take max of available years, default None.
specific_unit_params (dict, optional) – Specific unit to use, default {}.
- async get_columns_concerned_by_confid()¶
- async obtenir_donnees_par_categorie(donnees, liste_categories, total_ratio)¶
Agrège les données par territoires et catégorie afin de ne conserver que les données par catégorie
- Paramètres
donnees (Liste) – Liste de dictionnaires contenant les données par territoire et catégorie
liste_categories (Liste) – Liste des catégories disponibles pour l’indicateur exécuté
- Type renvoyé
Liste de dictionnaires avec uniquement les données par catégorie
- obtenir_donnees_par_territoire(donnees, liste_categories)¶
Agrège les données par territoires et catégorie afin de ne conserver que les données par territoires
- Paramètres
donnees (Liste) – Liste de dictionnaires contenant les données par territoire et catégorie
liste_categories (Liste) – Liste des catégories disponibles pour l’indicateur exécuté
- Type renvoyé
Liste de dictionnaires avec uniquement les données par territoire
- obtenir_liste_categories()¶
- property afficher_indicateur_maille¶
- property unit_factor¶
gestion_images module¶
- class SuppressionElement(path_folder)¶
Bases :
object
Classe pour supprimer un ou plusieurs éléments d’un dossier.
- Paramètres
path_folder (le chemin du dossier) –
- class SuppressionUniqueFichierDossier(path_folder)¶
Bases :
SuppressionElement
Classe pour supprimer un élément d’un dossier.
- Paramètres
path_folder (le chemin du dossier) –
- supprimer_unique_fichier_dossier(path_file)¶
Fonction qui supprime un élément précis d’un dossier
- ecriture_image_base64(image, output_path)¶
Fonction qui écrit des images en base 64 sur le serveur.
- Paramètres
image (image en base64) –
output_path (le chemin de sortie) –
indicateur_tableau_bord module¶
Module qui contient la classe dont le rôle est de retourner toutes les caractéristiques d’une analyse (métadonnées, représentations possibles)
mesure_audience module¶
- class MesureDAudience(region)¶
Bases :
object
Obtention et insersion en base des données de navigation des utilisateur.rices.
- Paramètres
- async commune()¶
Retourne le nom de la commune depuis laquelle l’utilisateur.trice utilise TerriSTORY
- async inserer_donnees_localisation()¶
Insère les données de localisation de l’utilisateur.rice
- property date¶
- property ip_anonymisee¶
- property nom_schema¶
- class MesureDAudienceActions(region, code_territoire, type_territoire, liste_actions, liste_trajectoires_cibles, type_action)¶
Bases :
MesureDAudienceTerritoriale
Insère les données de navigation dans la table propre à la consultation des actions et trajectoires cibles
- Paramètres
liste_actions (liste) – liste des actions cochées
liste_trajectoires_cibles (liste) – liste des trajectoires cibles modifiées par l’utilisateur.rice
type_action (str) – Précision quant à la manière dont les calculs sont lancés : lancement de calculs ou export ADEME ?
- async inserer_donnees_consultations(id_utilisateur)¶
Insère les données de navigation propres aux actions et trajectoires cibles
- class MesureDAudienceAnalysesTerritoriales(region, code_territoire, type_territoire, page)¶
Bases :
MesureDAudienceTerritoriale
Insère les données de navigation propres aux pages d’analyses territoriales
- Paramètres
page (str) – Page consultée (suivi des indicateurs territoriaux ou analyses territoriales)
- async inserer_donnees_consultations(id_utilisateur)¶
Insère les données de navigation propres aux analyses territoriales
- class MesureDAudienceAutresPages(region, page, details='')¶
Bases :
MesureDAudience
Insère les données de navigation propres aux autres pages qui ne sont pas déjà gérées par d’autres classes (A propos, contact, etc.).
- Paramètres
- class MesureDAudienceIndicateurs(provenance, region, code_territoire, type_territoire, id_indicateur)¶
Bases :
MesureDAudienceTerritoriale
Insère les données de navigation dans la table propre à la consultation des indicateurs
- Paramètres
- async inserer_donnees_consultations(id_utilisateur)¶
Insère les données de navigation propres aux indicateurs
- class MesureDAudiencePoi(region, code_territoire, type_territoire, nom_couche, cochee)¶
Bases :
MesureDAudienceTerritoriale
Insère les données de consultation des couches POI
- Paramètres
nom_couche (str) – Nom de la couche POI. Est préféré à l’ID pour ne pas être dépendant de l’état de la BDD à un instant donné
cochee (booléen) – Renvoie True si la couche a été activée et False si elle a été désactivée
- async inserer_donnees_consultations(id_utilisateur)¶
Insère les données de navigation propres aux couches d’entités ponctuelles
- class MesureDAudienceTableauxBords(region, code_territoire, type_territoire, tableau_bord_id, tableau_bord_nom)¶
Bases :
MesureDAudienceTerritoriale
Insère les données de consultation des tableaux de bords
- Paramètres
tableau_bord_id (id) – ID du tableau de bord visionné
tableau_bord_nom (str) – Nom du tableau de bord
- async inserer_donnees_consultations(id_utilisateur)¶
Insère les données de navigation propres aux couches d’entités ponctuelles
- class MesureDAudienceTerritoriale(region, code_territoire, type_territoire, donnees_ip='')¶
Bases :
MesureDAudience
Classe intermédiaire pour l’ensemble des mesures d’audience qui s’appuient sur des territoires et nécessitent donc de spécifier le type et le code de territoire lors de la consultation.
pcaet_ademe module¶
Fonctions pour l’insertion automatisée des PCAET disponibles sur le site de l’Ademe.
- class BasePcaet(csv_chemin: str)¶
Bases :
object
Base class for all PCAET DataFrame manipulation classes
- create_final_df()¶
Get the final dataframe for the specified PCAET
- define_reference_years()¶
Rename or reference years columns to annee_compta_{trajectory}.
- drop_empty_values(df: pandas.DataFrame) pandas.DataFrame ¶
Remove lines containins NA or zeros values when necessary
- get_df_with_new_columns() pandas.DataFrame ¶
- get_regex_list() list[str] ¶
Liste des expressions régulière qu’on va utiliser pour sélectionner les colonnes du df.
- get_trajectories() list[str] ¶
Liste des types de trajectoires qu’on va utiliser pour notre df final.
- read_csv()¶
- sort_out_older_duplicates()¶
Met à jour le dataframe en ne conservant que la version la plus récente pour chaque territoire.
- class PcaetEnr(csv_chemin: str)¶
Bases :
BasePcaet
Renvoie un dataframe avec les données du PCAET Enr.
- define_reference_years()¶
Défini l’année maximal du diagnostique.
- get_input_columns()¶
Liste des colonnes du DataFrame au format initial ADEME.
- get_regex_list()¶
Liste des expressions régulière qu’on va utiliser pour sélectionner les colonnes du df.
- get_trajectories()¶
Liste des types de trajectoires qu’on va utiliser pour notre df final.
- class PcaetPecSeq(csv_chemin: str)¶
Bases :
BasePcaet
Renvoie un dataframe avec les données du PCAET Pec seq.
- define_reference_years()¶
Rename or reference years columns to annee_compta_{trajectory}.
- get_input_columns()¶
Liste des colonnes du DataFrame au format initial ADEME.
- get_regex_list()¶
Liste des expressions régulière qu’on va utiliser pour sélectionner les colonnes du df.
- get_trajectories()¶
Liste des types de trajectoires qu’on va utiliser pour notre df final.
- class PcaetPolluant(csv_chemin: str)¶
Bases :
BasePcaet
Renvoie un dataframe avec les données du PCAET Polluants atmosphériques.
- define_reference_years()¶
Rename or reference years columns to annee_compta_{trajectory}.
- get_input_columns()¶
Liste des colonnes du DataFrame au format initial ADEME.
- get_regex_list()¶
Liste des expressions régulière qu’on va utiliser pour sélectionner les colonnes du df.
- get_trajectories()¶
Liste des types de trajectoires qu’on va utiliser pour notre df final.
- async add_siren_val(schema: str, maille: str, siren: str, code: str)¶
Ajoute les numéro de siren à la maille souhaitée.
- async attribution_code_siren()¶
- create_pcaet_dataframe(region: str) pandas.DataFrame ¶
Returns the PCAET dataframe created from all trajectory sources (pec_seq, enr and polluant). The columns of the dataframe are : siren, trajectory, category, year, value, variation and is_ref.
- download_updated_pcaet(csv_url: str, type_fichier: str, region: str)¶
Cette fonction récupère les dernières versions de PCAET sur le site de l’Ademe: https://www.territoires-climat.ademe.fr/opendata Et les stocke dans des fichiers locaux
- Parameters
- csv_urlstr
URL vers le fichier CSV avec le numéro de version entre accolades et dans cette accolade la valeur “val”. Ex : https://www.territoires-climat.ademe.fr/opendata/Demarches_PCAET_V{val}_pec_seq.csv
- type_fichier: str
Type de pcaet à récupérer. Peut être « pec_seq », « enr », « polluants »…
- regionstr
Region transmise lors de l’appel de la fonction MAJ PCAET par l’URL
- get_pcaet_paths(region: str) list[str] ¶
Returns the list of paths corresponding to each existing version of each trajectory. Earlier version are place prior to later ones. [pec_seq_V1, pec_seq_V2, enr_V1, …]
- async get_siren_numbers() list[str] ¶
Renvoie la liste des numéros de siren des pcaet de la table pcaet_ademe.
- Type renvoyé
- async mettre_a_jour_la_table_pcaet(region: str, csv_url_pec_seq: str, csv_url_enr: str, csv_url_polluant: str)¶
- retrieve_web_information(siren_numbers: list[str]) dict[str, list] ¶
Renvoie les numéros de siren de la table pcaet ademe associés à leur type de maille.
- async update_db_with_new_pcaet(pcaet_df: pandas.DataFrame)¶
Insert PCAET dataframe into the database.
perimetres module¶
- async convert_archive_to_folder(input_path, output_path)¶
Télécharge les données communales admin express de l’IGN
- Paramètres
annee (entier) – Année dont datent les données à télécharger
input_path (chaîne de caractères) – Chemin d’accès au répertoire où déposer ces données
- async integration_donnees_ign(schema)¶
Intègre la table des communes dans le schéma régional à partir des données IGN téléchargée automatiquement
- Paramètres
schema (str) – Nom du schéma régional
- async liste_donnees_perimetres(region)¶
poi module¶
Gestion des couches de Point d’Intérêt aka POI
Installation méthanisation
Installation réseaux de chaleur
bornes d’infra de recherche de véhicules électriques (IRVE)
- async create_poi(region, user, layer, properties, geom)¶
Création d’une POI dans une couche donnée
- Paramètres
region (str) – region key
user (terriapi.controller.user.User) – Utilisateur
layer (str) – Nom de la couche POI (i.e. nom de la table)
properties (dict) – Données attributaires (JSON)
geom (tuple) – Coordonnées x (lon), y (lat)
- async create_poi_contribution(region, user, layer, properties, geom)¶
Création d’une POI dans une couche donnée
- Paramètres
region (str) – region key
user (terriapi.controller.user.User) – Utilisateur
layer (str) – Nom de la couche POI (i.e. nom de la table)
properties (dict) – Données attributaires (JSON)
geom (tuple) – Coordonnées x (lon), y (lat)
- async delete_poi_layer(schema, layer, table_name)¶
Delete a POI layer.
- async delete_poi_object(region, user, layer, id)¶
Suppression d’une POI dans une couche donnée
- Paramètres
region (str) – region key
user (terriapi.controller.user.User) – Utilisateur
layer (str) – Nom de la couche POI (i.e. nom de la table)
id (integer) – ID de l’objet à supprimer
- async delete_poi_object_contribution(region, user, layer, record_id)¶
Suppression d’une POI dans une couche donnée
- Paramètres
region (str) – region key
user (terriapi.controller.user.User) – Utilisateur
layer (str) – Nom de la couche POI (i.e. nom de la table)
id (integer) – ID de l’objet à supprimer
- async get_layers_constraints(region: str, layers: str | list)¶
Get POI themes for a region.
- Paramètres
region (str) – Region name
- async get_poi_contribution(region, edit_id)¶
Retrieve a specific contribution for current region
- async get_poi_contributions(region, layers: str | list = '*', edit_id=None)¶
Retrieve contributions list for current region
- Paramètres
region (str) – region key
- async historique_poi(region)¶
Récupère et traite l’historique des modifications des couches POI
- Paramètres
region (str) – region key
- linear_dict(dic)¶
Flattens a dict to a list of strings.
- async obtenir_installation_et_geom(schema, liste_tables, main_schema='', zone=None, zone_id=None)¶
Permet d’obtenir la liste des propriétés et des geométries des équipement
- Paramètres
schema (chaîne de caractères) – schéma régional consacré aux équipements
liste_tables (liste) – liste de couches qui contiennent des données équipements
main_schema (chaîne de caractères) – shéma régional
zone (chaîne de caractères) – type de zone dans laquelle récupérer les équipements
zone_id (chaîne de caractères) – id de la zone. Si aucune zone n’est spécifiée, tous les équipements de la région sont retournés
- Type renvoyé
Dictionnaire contenant les géométries et les propriétés des couches
- async obtenir_tables_equipements_autres_que_points(schema)¶
Obtention des nom des tables qui contiennent des données d’équipements dont la géométrie n’est pas le point
- Paramètres
schema (Chaîne de caractères) – Nom du schéma régional
- Type renvoyé
Liste des tables qui contiennent les données des équipements représentés par d’autres géométries que le point.
- async rename_theme(old_name, new_name, region)¶
Rename indicators” theme.
- async update_contribution(region, edit_id, action)¶
Update a contribution status inside meta table
- Paramètres
region (str) – region key
- async update_order_within_themes(data, region)¶
Update layers” order within their theme.
- Paramètres
data (json) – {themes : {id_analyse: ordre} … }
- async update_poi(region, user, layer, record_id, properties, geom)¶
UPDATE a POI object in a layer
- async update_poi_contribution(region, user, layer, record_id, properties, geom)¶
Mise à jour d’un objet dans une couche POI
- async update_poi_edition_rights(region, layer, droit, user)¶
Mise à jour des droits (modifiable) pour une couche POI
pop_up_accueil module¶
- liste_images_carousel_avec_path(path, all_images, region)¶
Fonction qui trie les images à défiler dans le carousel dans l’ordre et par groupe d’images.
- Paramètres
region (la région à mettre à jour) –
str –
path (le chemin vers le dossier) –
str –
all_images (la liste des noms d'images) –
list –
- Type renvoyé
- suppression_images_region_pop_up_accueil(region, path_folder)¶
Fonction qui supprime les images qu’une région avait choisi pour son carousel.
- Paramètres
region (la région à mettre à jour) –
str –
path (le chemin vers le dossier) –
str –
- async update_actu_pop_up(region, texte_markdown)¶
Fonction qui met à jour le contenu de la fenêtre d’actu.
- Paramètres
region (la région à mettre à jour) –
texte_markdown (le texte en langage markdown) –
regions_configuration module¶
Fonctions et requêtes SQL sur la gestion des configurations des régions
- async get_configuration(id=None, with_private=False)¶
Return main regions configuration from database.
- async get_data_units(region)¶
Returns the list of units available in current region.
- async get_impacts_configurations(region)¶
Returns the regional strategy impacts configuration from the database.
- async get_poi_contributions_managers(region, layer)¶
Returns the list of units available in current region.
- async get_sankeys_configuration(id=None)¶
- async get_seo_configuration(region)¶
Returns the regional SEO configuration from the database.
saisie_objectifs module¶
- async ajout_objectif(region: str, donnees: dict, supra_goal_id: int | None = None)¶
Ajoute un objectif en base de données
- Paramètres
region (str) – nom normalisé de la région (ex : auvergne-rhone-alpes, occitanie)
donnees (liste) – Liste de dictionnaires qui comportent chacun toutes les données de l’objectif à intégrer en base de données exemple : {“obj”: [{“annee”: 2020, “valeur”: 20}, {“annee”: 2050, “valeur”: 70}], “params”: {“graphiques”: « Production d’énergie », “annee”: 2018, “titre”: “EnR”}}
- async allow_supra_goal_display_for_territory(region: str, supra_goal_id: int, type_territoire: str, code_territoire: str, nom_territoire: str, tout_type_territoire: bool)¶
Autorise l’affichage de l’objectif en mode valeur pour une échelle géographique / territoire spécifique à indiquer en paramètre
- Paramètres
region (str) – nom normalisé de la région (ex : auvergne-rhone-alpes, occitanie)
type_territoire (str) – Type de territoire sélectionné par l’utilisateur
code_territoire (str) – code du territoire sélectionné par un utilisateur (si on autorise pour un type de territoire, le code du territoire est vide)
nom_territoire (str) – Nom du territoire sélectionné par un utilisateur (si on autorise pour un type de territoire, le nom du territoire est vide)
tout_type_territoire (Booléen) – Indique si on désactive l’affichage pour un type de territoire ou pour un territoire spécifique
- async liste_affectation_maille_affichage_objectifs_valeur(region: str, supra_goal_id: int)¶
Retourne la liste des territoires / types de territoires pour lesquels on autorise l’affichage d’un objectif en mode valeur
- Paramètres
region (str) – nom normalisé de la région (ex : auvergne-rhone-alpes, occitanie)
titre (str) – Titre du graphique pour lequel on liste les territoires / types territoires concernés par l’autorisation
graphique – Nom de la table à partir de laquelle on obtient les données de références la trajectoire qui définit l’objectif
- Type renvoyé
Dictionnaire dont une clé est associée à la liste des affectations et une autre qui correspond au statut.
- async suppression_affectation_maille_affichage_objectifs_valeur(region: str, supra_goal_id: int, type_territoire: str, code_territoire: str, nom_territoire: str, tout_type_territoire: bool)¶
Désactive l’affichage de l’objectif en mode valeur pour les échelles géographiques / territoire spécifique à indiquer en paramètre
- Paramètres
region (str) – nom normalisé de la région (ex : auvergne-rhone-alpes, occitanie)
type_territoire (str) – Type de territoire sélectionné par l’utilisateur
code_territoire (str) – code du territoire sélectionné par un utilisateur (si on autorise pour un type de territoire, le code du territoire est vide)
nom_territoire (str) – Nom du territoire sélectionné par un utilisateur (si on autorise pour un type de territoire, le nom du territoire est vide)
tout_type_territoire (Booléen) – Indique si on désactive l’affichage pour un type de territoire ou pour un territoire spécifique
scenario module¶
Fonctions et requêtes SQL sur la gestion des scénarios utilisateur·rice·s
- async change_public_state_scenario(region, scenario_id, publique)¶
Change l’état de publication d’un scénario.
- Paramètres
scenario_id (int) – L’identifiant du scénario.
publique (boolean) – État actuel de la publication
- async create_scenario(titre, mail, description, zone_type, zone_id, nom_territoire, region, actions, params, advanced_params, trajectoires_cibles)¶
Créer un scénario pour un·e utilisateur·rice spécifique.
- Paramètres
titre (str) – Titre du scénario.
mail (str) – Login du compte qui crée le scénario.
description (str) – Description du scénario. Peut être None.
zone_type (str) – Type de la zone courante
zone_id (int) – Id de la zone courante
nom_territoire (str) – Nom du territoire
region (str) – Nom standardisé de la région
actions (list) – Liste de str du numéro des actions activées (i.e. cochées)
params (dict) – Clé/valeur de tous les paramètres action_params à enregistrer. Clé : id de l’action param.
advanced_params (dict) – Clé/valeur de tous les paramètres avancés pour chaque catégorie d’actions
trajectoires_cibles (dict[dict]) – Clé/valeur des 3 trajectoires cibles “energie_produite”, “emission_ges”, “energie_economisee”
- Renvoie
L’ID du scénario.
- Type renvoyé
- async delete_scenario(region, scenario_id)¶
Supprime un scénario.
- Paramètres
scenario_id (int) – L’identifiant du scénario.
- async disable_scenario(region, user, scenario_id)¶
Désactiver le partage d’un scénario (par un bénéficiaire)
- async get_scenario(scenario_id)¶
Récupère les paramètres pour un scénario donné.
- Paramètres
- Renvoie
Avec le titre, la description, la date et une clé « params » avec toutes les valeurs des paramètres.
- Type renvoyé
- async region_scenarios(region)¶
Get all the scenarios for a given region
Partager un scénario avec d’autres utilisateurs
- async update_scenario(scenario_id, titre, description, actions, params, advanced_params, trajectoires_cibles)¶
Récupère les paramètres pour un scénarion donné.
- Paramètres
scenario_id (int) – L’identifiant du scénario.
titre (str) – Titre du scénario.
description (str) – Description du scénario. Peut être None.
params (list) – Liste de dict avec tous les paramètres action_params à enregistrer.
advanced_params (dict) – Clé/valeur de tous les paramètres avancés pour chaque catégorie d’actions
trajectoires_cibles (list[dict]) – Clé/valeur des 3 trajectoires cibles “energie_produite”, “emission_ges”, “energie_economisee”
- Renvoie
Avec le titre, la description, la date et une clé « params » avec toutes les valeurs des paramètres.
- Type renvoyé
- async user_scenario(region, login)¶
Récupère tous les scénarii d’un·e utilisateur·rice.
stations_mesures module¶
Fonctions et requêtes SQL sur les stations de mesures des indicateurs climat
- async get_stations_mesures(region, jeu_de_donnees)¶
Selection des données des stations de mesure qui ont des données pour l’indicateur selectionné
- async get_value_par_station(region, jeu_de_donnees, stations_mesures, min_year, max_year)¶
Selection des données des stations de mesure par station : Cette fonction permet de parcourir la liste des stations qui ont des données pour l’indicateur selectionné et récupérer tous les valeurs et libelle_mois pour chaque station depuis l’année minimal jusqu’à la date maximale de disponibilité de données
strategy_export module¶
- append_regional_info(data, level)¶
- export_excel_results(region, parameters, results, trajectories, output_filepath, metadata)¶
Generate an Excel file with input parameters, trajectories and results.
This function requires the presence of an Excel file located in ressources/export-impacts-strategie-territoriale-<region>.xlsx
This excel file can be filled with various parameters that will be replaced with corresponding values, either from input parameters, reference trajectories or results.
Existing tokens that can be replaced are currently the following:
General information:
<Nom_Territoire>
<Nom_Strategie>
<Date_Export>
<Mail_Contact>
<Source_Donnees>
Input parameters:
<Input_Parameters>
<Input_AdvancedParameters>
Results:
<Impacts_GES_par_energie> and <Impacts_GES_par_secteur>
<Impacts_ConsoNRG_par_energie> and <Impacts_ConsoNRG_par_secteur>
<Impacts_Pollutant_par_energie> and <Impacts_Pollutant_par_secteur> where Pollutant is any of following list:
COVNM
NH3
NOX
PM10
PM25
SOX
<Impacts_ProdENR_par_energie>
<Impacts_Nb_Emplois_Region>
<Impacts_VA_Region>
<Impacts_Nb_Emplois_Territoire>
<Impacts_VA_Territoire>
<Impacts_Inv>
<Impacts_Retomb_fisc>
<Impacts_Baisse_facture>
Trajectories
<Trajectoire_GES_Off_PCAET>
<Trajectoire_ConsoNRG_Off_PCAET>
<Trajectoire_ProdENR_Off_PCAET>
<Trajectoire_Pollutant_Cible> where Pollutant is any of following list:
COVNM
NH3
NOX
PM10
PM25
SOX
<Trajectoire_GES_Cible>
<Trajectoire_ConsoNRG_Cible>
<Trajectoire_ProdENR_Cible>
- <Trajectoire_GES_Off>: this parameter requires a variable name corresponding
to the trajectory that must be specified after a # sign. For example, by writing <Trajectoire_GES_Off>#SRADDET in a cell, the corresponding values of the trajectory which name contains SRADDET will be used (if it exists). Same applies to the two following tokens.
<Trajectoire_ConsoNRG_Off>: same than <Trajectoire_GES_Off>
<Trajectoire_ProdENR_Off>: same than <Trajectoire_GES_Off>
- flatten_dict(nested_dict, ignore_keys=())¶
Flattens a dictionary recursively. Ignores key if specified.
- nested_dict_to_df(values_dict, ignore_keys=())¶
Converts a nest dictionary to a flattened dataframe with nested keys as tuples.
E.g., from:
{ "2019": { "direct": { "region": { "potentiel": { "nb_emploi_total": 10.0, "va_totale": 10.0, } } } }, ... }
to:
¶ year
direct
level
type
nb_emploi_total
va_totale
2019
direct
region
perenne
0.0
10.5
2019
direct
region
ponctuel
2.4
16.25
- prepare_data_for_jobs(data)¶
Prepare the results data for pdf export by flattening the nested input dictionary and going from:
{ "2019": { "direct": { "region": { "potentiel": { "nb_emploi_total": 10.0, "va_totale": 10.0, } } } }, ... }
to a tuple of two dictionaries looking like:
{ "2019": { "total": 0.0, "direct": 0.0, "indirect": 0.0 }, ... }
- put_data_in_excel_sheet_at_cell(sheet, cell, data, prepend_name=True, remove_tags=True, empty_value=' ')¶
Put data inside an excel sheet at the spot given by the cell coordinates Doesn’t do anything to the formatting.
- Paramètres
sheet (openpyxl worksheet) – the sheet to edit (edited inplace)
cell (tuple) – the coordinates (row, column) in integers, (1,1) corresponding to the top left corner of the worksheet.
data (pd.DataFrame or list or dict) –
the list of data to insert. It must be structured as follows:
[ { 'nom': 'Sector name', 'couleur': '#1fa22E', 'confidentiel': 'non', 'data': [ {'annee': 1990, 'valeur': 9022.62}, {'annee': 2000, 'valeur': 9424.92}, ... ] }, { 'nom': 'Other sector', 'couleur': '#933588', 'confidentiel': 'non', 'data': [ {'annee': 1990, 'valeur': 3792.3}, {'annee': 2000, 'valeur': 4107.48}, ... ] } ]
or:
{ "2019": nested_value, ... }
with nested_value either directly a value (float, etc.) or a dictionary containing multiple values that will be spreaded on different rows in the final document.
- replace_value_in_sheet(sheet, tokens, search=[])¶
Replace the values of tokens keys by tokens values in sheet
- Paramètres
sheet (openpyxl sheet) – the worksheet opened through openpyxl
tokens (dict) – the keys to replace by the values
- async update_strategy_export_template_file(region, env)¶
suivi_trajectoire module¶
Module pour les fonctions et requêtes SQL de la page suivi de trajectoire
i.e. historique de certaines analyses comme la consommation énergétique, la production d’énergie renouvelable (aka prod enr)
- async categories_metadata(region, categorie)¶
Retourne les couleurs associées à chaque type d’une table des catégories
- async check_year_in_mobility_table(region, zone, zone_id, year, buffer=0)¶
- async deprecated_couleurs_categorie(region, categorie)¶
Retourne les couleurs associées à chaque type d’une table des catégories
- deprecated_fusion_historique_et_future(historique, future, couleurs, soustraire=True)¶
Fusionne les séries temporelles historiques avec la réduction future.
On extrapole à droite la séries temporelles issues des données historiques jusqu’à l’année max fournie dans future. On déduit ces valeurs avec les valeurs calculées de réduction de conso d’énergie (resp. émission GES).
- Paramètres
historique (pd.DataFrame) –
future (pd.DataFrame) – Résultats issus des actions (index : modalité, columns : annee)
- Type renvoyé
pd.DataFrame
- deprecated_historique_et_impact_emission_ges(region, zone, zone_id, resultat_impact)¶
Données historique d’émissions GES + impact pour actions réductions de conso. Retourne une coroutine
- deprecated_historique_et_impact_polluants_atmo(region, zone, zone_id, resultat_impact, analyse)¶
Données historique d’émissions des polluants atmosphériques + impact pour actions réductions de conso. Retourne une coroutine
- deprecated_historique_et_impact_reduction_conso(region, zone, zone_id, resultat_impact, colonne_conso_nrj='conso_energetique')¶
Données historique de conso + impact pour actions réductions de conso. Retourne une coroutine
- async distance_moyenne_par_actif_en_voiture(region, zone, zone_id, year=None, buffer=0)¶
Renvoie la distance moyenne parcouru par les actifs en voiture dans le cadre de leur trajet domicile-travail.
- fusion_historique_et_future(history, future, metadata, by_column, final_year, soustraire=True)¶
Fusionne les séries temporelles historiques avec la réduction future.
On extrapole à droite la séries temporelles issues des données historiques jusqu’à l’année max fournie dans future. On déduit ces valeurs avec les valeurs calculées de réduction de conso d’énergie (resp. émission GES).
- Paramètres
history (pd.DataFrame) –
future (pd.DataFrame) – Résultats issus des actions (index : modalité, columns : annee)
- Type renvoyé
pd.DataFrame
- fusion_historique_et_future_prod(history, future, metadata_prod, metadata_vector, by_column_prod, by_column_vector, final_year, soustraire=True)¶
Fusionne les séries temporelles historiques avec la réduction future.
On extrapole à droite la séries temporelles issues des données historiques jusqu’à l’année max fournie dans future. On déduit ces valeurs avec les valeurs calculées de réduction de conso d’énergie (resp. émission GES).
- Paramètres
history (pd.DataFrame) –
future (pd.DataFrame) – Résultats issus des actions (index : modalité, columns : annee)
- Type renvoyé
pd.DataFrame
- async get_page_parameters(region, env, page)¶
Get the page graph types enabled.
- async get_pages_enabled(env, region=None)¶
Get the analyses enabled pages list
- historique_et_impact_emission_ges(region, zone, zone_id, final_year, resultat_impact, passage_table, remove_passage_data: bool = True)¶
Données historique d’émissions GES + impact pour actions réductions de conso. Retourne une coroutine
- historique_et_impact_polluants_atmo(region, zone, zone_id, final_year, resultat_impact, pollutant, passage_table, remove_passage_data: bool = True)¶
Données historique d’émissions des polluants atmosphériques + impact pour actions réductions de conso. Retourne une coroutine
- async historique_et_impact_prod(region, zone, zone_id, final_year, resultat_impact, passage_table, remove_passage_data: bool = True)¶
- historique_et_impact_reduction_conso(region, zone, zone_id, final_year, resultat_impact, passage_table, remove_passage_data: bool = True)¶
Données historique de conso + impact pour actions réductions de conso. Retourne une coroutine
- async nombre_actifs_en_voiture(region, zone, zone_id, year=None, buffer=0)¶
Renvoie le nombre d’actif en voiture.
- async obtenir_annee_max_indicateur(region, donnees, data_ratio)¶
- async prod_enr_mapping(region)¶
Retourne un dictionnaire qui associe les actions avec les productions EnR qu’elles impactent
- async secteur_mapping(region)¶
Retourne un dictionnaire qui associe les actions avec les secteurs qu’elles impactent
- async suivi_trajectoire(region, zone, zone_id)¶
Données pour la page de suivi de trajectoire
i.e. les données historiques de consommation & production d’énergie renouvelable pour un territoire donné.
- Paramètres
- Renvoie
Données de barplot conso vs. production énergie
Données pour stacked plot de conso & production énergie renouvelable par catégories
chiffres-clé pour le territoire sélectionné
- Type renvoyé
tableau_bord module¶
Module dédié aux fonctions d’intéraction avec la base de données pour les tableaux de bord
- async assign_zone(tableau_id, zone, code_insee_territoire)¶
Affecte une zone à un tableau
- async check_is_valid_dashboard(region, user, thematiques)¶
- async check_write_rights_on_dashboard(region, dashboard_id, usermail)¶
- clean_blocks(graphs)¶
- async create_dashboard(titre, user, description, region, thematiques)¶
Créer un nouveau tableau de bord
- async delete_dashboard(dashboard_id: int, current_user, region: str)¶
Delete a dashboard from database with the given id and the current user.
- Renvoie
dashboard ID or False if the dashboard does not exist (or couldn’t be deleted)
- Type renvoyé
- async get_dashboard(region, tableau_id, utilisateur, type_territoire, code_insee_territoire)¶
Récupère les données pour un tableau donné.
- async is_dashboard_owner(usermail, tableau_id, region)¶
Vérifie si le tableau spécifié par son identifiant appartient bien à l’utilisateur·rice
- async list_dashboard_assignments(tableau_id)¶
- async list_public_dashboards(region, type_territoire, code_insee_territoire)¶
Récupère l’ensemble des tableaux publiés pour un type de territoire ou territoire spécifique donné
- async liste_tableau(user, region)¶
Récupère l’ensemble des tableaux pour un·e utilisateur·rice et région données
- async remove_dashboard_assignment(tableau_id, type_territoire, code_insee_territoire)¶
- async remove_dashboard_sharing(dashboard_id: int, region: str, user, is_readonly_share=False)¶
Remove the current user form the list of shared user for the specified dashboard
Share a dashboard with other users by their email
- async update_dashboard(dashboard_id, titre, user, description, region, thematiques)¶
user module (controller)¶
Module de gestion des utilisateurs
- class User(user_id, exp, mail, profil, publication, est_admin, region, acces_indicateurs_desactives, global_admin, prenom, nom, organisation, fonction, territoire_predilection, utiliser_territoire_predilection, code_postal, can_validate_poi_contributions, poi_contributions)¶
Bases :
NamedTuple
- to_dict()¶
- async activate_user(region, login, password)¶
Active le compte associé au login.
- auth_user(request, region)¶
Returns information about the authenticated user
- async create_user(prenom, nom, password, mail, organisation, fonction, territoire_predilection, utiliser_territoire_predilection, code_postal, region, profil, actif, rgpd="Pas d'accord")¶
Crée un·e utilisateur·rice en base de données.
- Paramètres
prenom (str) – Prénom.
nom (str) – Nom.
password (str) – Mot de passe. Il est hashé dans cette fonction. Peut être None.
mail (str) – Email.
organisation (str) – Structure / organisation.
territoire_predilection (str) – Territoire représenté par un json { zoneType, zoneId, zoneMaille }.
utiliser_territoire_predilection (bool) – Utiliser le territoire comme territoire par défaut à la connexion.
code_postal (str) – Code postal
profil (str) – “admin” ou “utilisateur”.
actif (boolean) – Compte actif ou non.
rgpd (string) – Case cochée ou non.
- async deactivate_user(region, login)¶
Désactive le compte associé au login.
- Paramètres
login (str) – Login (i.e. mail) du compte
- async delete_refresh_token(region, login)¶
Efface le refresh token JWT associé à un login.
Quand le token est invalidé par sa date d’expiration par exemple, on l’efface. Pour ensuite en créer un nouveau avec une nouvelle date.
- Paramètres
login (str) – Login (i.e. mail) du compte
- async delete_user(region, login)¶
Efface le compte associé au login.
- Paramètres
login (str) – Login (i.e. mail) du compte
- async get_refresh_token(region, login)¶
Récupère le refresh token JWT associé à un login.
- async get_user_password(region: str, login: str)¶
Récupère le hash du mot de passe d’un·e utilisateur·trice en fonction de son login.
- hash_pass(password)¶
Return a hashed password
- async is_active_user(region: str, login: str) bool ¶
Check is the specified login corresponds to an active user in the database
- async send_mail(sender, sender_label, reply_to: str | None, receiver, subject, content, settings, typemail='plain', encoding='utf-8', content_plain='')¶
Envoi de mail asynchrone
- Renvoie
un message de statut
- async set_user_password(region, login, password)¶
Stocke un nouveau mot de passe associé au login.
- async store_refresh_token(region, login, token)¶
Stocke le refresh token JWT associé à un login.
- async update_connexion_info(region, login)¶
Met à jour les données de connexion associées à un compte.
- Paramètres
loging (str) – Login (i.e. mail) du compte
- async user(region, login)¶
Récupère toutes les infos d’un.e utilisateur/utilisatrice.
zone module¶
- async all_regions()¶
Fonction qui renvoie une liste de l’ensemble des régions proposées dans terristorry.
- Type renvoyé
- async all_territorial_levels(region: str)¶
Fonction qui renvoie une liste de toutes les mailles existantes.
- async all_territories_codes_for_level(region: str, level)¶
Fonction qui renvoie une liste de tous les codes uniques pour un niveau territorial donné.
- async all_zones(region: str, with_order=False)¶
Fonction qui renvoie une liste de dict des mailles et des sous mailles associées ainsi que leur libellé.
- async change_order_zone(region: str, name, current_position, new_position)¶
Fonction qui modifie une zone.
- async liste_mailles_regions()¶
Fonction qui renvoie un dict de l’ensemble des régions et des mailles associées.
- Type renvoyé