From a379294163cc0ad7b7582d056a22c20ebe873883 Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Mon, 16 Dec 2019 10:38:05 +0100 Subject: [PATCH 01/21] habref 5.0 --- README.md | 23 ++++++++----------- src/pypn_habref_api/data/data_inpn_habref.sql | 22 +++++++++--------- src/pypn_habref_api/scripts/database.py | 19 ++++----------- 3 files changed, 25 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index deb85fd..b80cf95 100644 --- a/README.md +++ b/README.md @@ -2,31 +2,26 @@ API d'interrogation d'Habref: référentiel des Habitat de l'INPN : https://inpn.mnhn.fr/telechargement/referentiels/habitats -Technologies ------------- +## Technologies -* Python 3 -* Flask -* SqlAlchemy +- Python 3 +- Flask +- SqlAlchemy -Installation ------------- +## Installation -* Créer un virtualenv et l'activer +- Créer un virtualenv et l'activer -:: virtualenv -p /usr/bin/python3 venv source venv/bin/acticate -* Installer le module +- Installer le module -:: - - pip install https://github.com/PnX-SI/Habref-api-module/archive/.zip + pip install https://github.com/PnX-SI/Habref-api-module/archive/.zip -* Installer le schéma de base de données +- Installer le schéma de base de données Le module est fourni avec une commande pour installer la base de données. Cette commande télécharge le référentiel habref et crée un schéma de base de données nommé `ref_habitat` diff --git a/src/pypn_habref_api/data/data_inpn_habref.sql b/src/pypn_habref_api/data/data_inpn_habref.sql index c44d95c..17d8e72 100644 --- a/src/pypn_habref_api/data/data_inpn_habref.sql +++ b/src/pypn_habref_api/data/data_inpn_habref.sql @@ -23,57 +23,57 @@ TRUNCATE TABLE habref_sources CASCADE; TRUNCATE TABLE cor_hab_source CASCADE; COPY bib_habref_typo_rel -FROM '/tmp/habref/HABREF_TYPE_REL_40.csv' +FROM '/tmp/habref/HABREF_TYPE_REL_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY bib_habref_statuts -FROM '/tmp/habref/HABREF_STATUTS_40.csv' +FROM '/tmp/habref/HABREF_STATUTS_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY habref_sources -FROM '/tmp/habref/HABREF_SOURCES_40.csv' +FROM '/tmp/habref/HABREF_SOURCES_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY typoref -FROM '/tmp/habref/TYPOREF_40.csv' +FROM '/tmp/habref/TYPOREF_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY habref -FROM '/tmp/habref/HABREF_NOHTML_40.csv' +FROM '/tmp/habref/HABREF_NOHTML_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY habref_corresp_hab -FROM '/tmp/habref/HABREF_CORRESP_HAB_40.csv' +FROM '/tmp/habref/HABREF_CORRESP_HAB_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY habref_corresp_taxon -FROM '/tmp/habref/HABREF_CORRESP_TAXON_40.csv' +FROM '/tmp/habref/HABREF_CORRESP_TAXON_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY cor_habref_terr_statut -FROM '/tmp/habref/HABREF_TERR_40.csv' +FROM '/tmp/habref/HABREF_TERR_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY typoref_fields -FROM '/tmp/habref/TYPOREF_FIELDS_40.csv' +FROM '/tmp/habref/TYPOREF_FIELDS_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY cor_habref_description -FROM '/tmp/habref/HABREF_DESCRIPTION_NOHTML_40.csv' +FROM '/tmp/habref/HABREF_DESCRIPTION_NOHTML_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; COPY cor_hab_source -FROM '/tmp/habref/HABREF_LIEN_SOURCES_40.csv' +FROM '/tmp/habref/HABREF_LIEN_SOURCES_50.csv' WITH CSV HEADER DELIMITER E';' encoding 'UTF-8'; diff --git a/src/pypn_habref_api/scripts/database.py b/src/pypn_habref_api/scripts/database.py index 49b04d7..5dbfb29 100644 --- a/src/pypn_habref_api/scripts/database.py +++ b/src/pypn_habref_api/scripts/database.py @@ -17,17 +17,6 @@ CURDIR = Path(os.path.dirname(os.path.abspath(__file__))) DATADIR = CURDIR.parent / 'data' -habref_file = [ - 'HABITATS.HABREF_NOTES_40.csv', - 'HABREF_DESCRIPTION_40.csv', - 'HABREF_SOURCES_40.csv', - 'HABREF_VALIDITE_40.csv', - 'HABREF_40.csv', - 'HABREF_DESCRIPTION_NOHTML_40.csv', 'HABREF_STATUTS_40.csv' 'TYPOREF_40.csv' -'HABREF_CORRESP_HAB_40.csv', 'HABREF_LIEN_SOURCES_40.csv', 'HABREF_TERR_40.csv', 'TYPOREF_FIELDS_40.csv', -'HABREF_CORRESP_TAXON_40.csv', 'HABREF_NOHTML_40.csv', 'HABREF_TYPE_REL_40.csv', 'TYPOREF_NOHTML_40.csv' -] - def download_habref(): if not os.path.isdir('/tmp/habref'): @@ -36,7 +25,7 @@ def download_habref(): if not os.path.isfile('habref.zip'): print('DOWNLOADING HABREF...') resp = requests.get( - 'https://geonature.fr/data/inpn/habitats/HABREF_40.zip' + 'https://geonature.fr/data/inpn/habitats/HABREF_50.zip' ) if resp.status_code != 200: raise Exception("Erreur while downlading Habref") @@ -66,6 +55,7 @@ def database_connect(database_uri): ''' return sqlalchemy.create_engine(database_uri) + def run_sql_scripts(engine, databse_uri): uri = urlparse(databse_uri) db_name = uri.path[1:] @@ -87,11 +77,11 @@ def run_sql_scripts(engine, databse_uri): conn.close() - @click.group() def main(): pass + @main.command() @click.argument('db_uri') def install_schema(db_uri): @@ -110,5 +100,6 @@ def install_schema(db_uri): def drop_schema(db_uri): click.echo('Drop the schema in, {}'.format(db_uri)) + if __name__ == '__main__': - main() \ No newline at end of file + main() From c089770f9bb49268ba59345c8f3315b7db21479f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Lech=C3=A9mia?= Date: Tue, 17 Dec 2019 11:20:15 +0100 Subject: [PATCH 02/21] Ajout FK sur cor_list_hab --- src/pypn_habref_api/data/habref.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pypn_habref_api/data/habref.sql b/src/pypn_habref_api/data/habref.sql index 61e0bd6..c15b485 100644 --- a/src/pypn_habref_api/data/habref.sql +++ b/src/pypn_habref_api/data/habref.sql @@ -283,6 +283,9 @@ ALTER TABLE ONLY habref ALTER TABLE ONLY cor_list_habitat ADD CONSTRAINT fk_cor_list_habitat_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; + +ALTER TABLE ONLY cor_list_habitat + ADD CONSTRAINT fk_cor_list_habitat_id_list FOREIGN KEY (id_list) REFERENCES ref_habitat.bib_list_habitat (id_list) ON UPDATE CASCADE; ALTER TABLE ONLY habref_corresp_hab @@ -324,4 +327,4 @@ ALTER TABLE ONLY cor_hab_source ---------- ALTER TABLE ONLY cor_list_habitat - ADD CONSTRAINT unique_cor_list_habitat UNIQUE ( id_list, cd_hab ); \ No newline at end of file + ADD CONSTRAINT unique_cor_list_habitat UNIQUE ( id_list, cd_hab ); From e05385b0bb51fa16f32c0d56b417ecb0557beb68 Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Tue, 17 Dec 2019 11:48:51 +0100 Subject: [PATCH 03/21] doc --- src/pypn_habref_api/routes.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/pypn_habref_api/routes.py b/src/pypn_habref_api/routes.py index 857e03b..71466dc 100644 --- a/src/pypn_habref_api/routes.py +++ b/src/pypn_habref_api/routes.py @@ -33,6 +33,8 @@ def getSearchInField(field, ilike): Get the first 20 result of Habref table for a given field with an ilike query Use trigram algo to add relevance + .. :quickref: Habref; + :params field: a Habref column :type field: str :param ilike: the ilike where expression to filter @@ -63,6 +65,11 @@ def getSearchInField(field, ilike): def get_hab(cd_hab): """ Get one habitat with its correspondances + + .. :quickref: Habref; + + :params cd_hab: a cd_hab + :type cd_hab: int """ one_hab = DB.session.query(Habref).get(cd_hab).as_dict(True) for cor in one_hab["correspondances"]: @@ -72,23 +79,14 @@ def get_hab(cd_hab): return one_hab -@routes.route("/habitats/list/", methods=["GET"]) -@json_resp -def get_habref_list(id_list): - q = ( - DB.session.query(Habref) - .join(CorNomListe, CorListHabitat.cd_hab == CorListHabitat.cd_hab) - .filter(CorNomListe.id_list == id_list) - ).all() - - return [d.as_dict() for d in data] - @routes.route("/habitats/autocomplete/list/", methods=["GET"]) @json_resp def get_habref_autocomplete(id_list): """ - Get all habref items for autocomplete + Get all habref items of a list for autocomplete + + .. :quickref: Habref; :param id_list: the id of the habref list :type id_list: int @@ -135,6 +133,8 @@ def get_typo(): """ Get all typology + .. :quickref: Habref; + :query int id_list: return only the typology of a given id_list :returns: Array """ @@ -160,9 +160,12 @@ def get_typo(): @json_resp def get_coresp(cd_hab): """ - Get all correspondance + Get all correspondances in other typo from a cd_hab + + .. :quickref: Habref; - :returns: + :params cd_hab: a cd_hab + :type cd_hab: int """ q = ( DB.session.query(CorespHab, BibHabrefTypoRel, Habref, TypoRef) From ebb7bd84d23e1861f90ea20dde48706d0713dcdd Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Tue, 17 Dec 2019 11:57:38 +0100 Subject: [PATCH 04/21] prepa release --- VERSION | 2 +- docs/changelog.rst | 17 +++++++++++++++++ src/pypn_habref_api/data/habref.sql | 1 - 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 7f83db0..6c6aa7c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.1.dev0 \ No newline at end of file +0.1.0 \ No newline at end of file diff --git a/docs/changelog.rst b/docs/changelog.rst index e69de29..dc7c19c 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -0,0 +1,17 @@ +========= +CHANGELOG +========= + +0.1.0 (2019-12-17) +----------------------------------- + +Premère version stabilisée du sous-module Habref. + +* SQL de création d'un schéma ref_nomenclature contenant les données HABREF 5 +* Commande python de création et d'import des données HABREF +* API d'interrogation du référentiel Habref: + - recherche dans la table Habref sur l'ensemble des champs + - Interrogation de la table typo_ref + - Recherche d'informations sur un habitat et ses correspodances + - Interrogation autcompletée et intelligente sur des liste d'habitat crées au préalable + diff --git a/src/pypn_habref_api/data/habref.sql b/src/pypn_habref_api/data/habref.sql index c15b485..0eb5cd8 100644 --- a/src/pypn_habref_api/data/habref.sql +++ b/src/pypn_habref_api/data/habref.sql @@ -280,7 +280,6 @@ ALTER TABLE ONLY autocomplete_habitat ALTER TABLE ONLY habref ADD CONSTRAINT fk_typoref FOREIGN KEY (cd_typo) REFERENCES ref_habitat.typoref (cd_typo) ON UPDATE CASCADE; - ALTER TABLE ONLY cor_list_habitat ADD CONSTRAINT fk_cor_list_habitat_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; From 3427ebb91a5e9c11be6b780f80786c64926e998f Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Tue, 17 Dec 2019 12:01:04 +0100 Subject: [PATCH 05/21] orthographe --- docs/changelog.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index dc7c19c..e7b0813 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -12,6 +12,6 @@ Premère version stabilisée du sous-module Habref. * API d'interrogation du référentiel Habref: - recherche dans la table Habref sur l'ensemble des champs - Interrogation de la table typo_ref - - Recherche d'informations sur un habitat et ses correspodances - - Interrogation autcompletée et intelligente sur des liste d'habitat crées au préalable + - Recherche d'informations sur un habitat et ses correspondances + - Interrogation autcompletée et intelligente sur des liste d'habitats créees au préalable From 4941c7c77d0a531764ce4589c45906b975164b0a Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Tue, 17 Dec 2019 12:04:04 +0100 Subject: [PATCH 06/21] ref_habitat -> ref_habitats --- README.md | 2 +- docs/changelog.rst | 2 +- src/pypn_habref_api/data/data_inpn_habref.sql | 8 +-- src/pypn_habref_api/data/habref.sql | 62 +++++++++---------- src/pypn_habref_api/models.py | 24 +++---- src/pypn_habref_api/scripts/database.py | 12 ++-- 6 files changed, 55 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index b80cf95..7aa497a 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ API d'interrogation d'Habref: référentiel des Habitat de l'INPN : https://inpn - Installer le schéma de base de données -Le module est fourni avec une commande pour installer la base de données. Cette commande télécharge le référentiel habref et crée un schéma de base de données nommé `ref_habitat` +Le module est fourni avec une commande pour installer la base de données. Cette commande télécharge le référentiel habref et crée un schéma de base de données nommé `ref_habitats` :: diff --git a/docs/changelog.rst b/docs/changelog.rst index e7b0813..2edf924 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -7,7 +7,7 @@ CHANGELOG Premère version stabilisée du sous-module Habref. -* SQL de création d'un schéma ref_nomenclature contenant les données HABREF 5 +* SQL de création d'un schéma ref_habitats contenant les données HABREF 5 * Commande python de création et d'import des données HABREF * API d'interrogation du référentiel Habref: - recherche dans la table Habref sur l'ensemble des champs diff --git a/src/pypn_habref_api/data/data_inpn_habref.sql b/src/pypn_habref_api/data/data_inpn_habref.sql index 17d8e72..0f73550 100644 --- a/src/pypn_habref_api/data/data_inpn_habref.sql +++ b/src/pypn_habref_api/data/data_inpn_habref.sql @@ -5,7 +5,7 @@ SET standard_conforming_strings = on; SET check_function_bodies = false; SET client_min_messages = warning; -SET search_path = ref_habitat, pg_catalog; +SET search_path = ref_habitats, pg_catalog; TRUNCATE TABLE habref CASCADE; @@ -90,12 +90,12 @@ ALTER TABLE cor_habref_description DROP COLUMN lb_hab_field; -- CREATE TABLE AUTOCOMPLETE -INSERT INTO ref_habitat.autocomplete_habitat +INSERT INTO ref_habitats.autocomplete_habitat SELECT cd_hab, h.cd_typo, lb_code, lb_nom_typo, concat(lb_code, ' - ', lb_hab_fr, ' ', lb_hab_fr_complet) -FROM ref_habitat.habref h -JOIN ref_habitat.typoref t ON t.cd_typo = h.cd_typo; \ No newline at end of file +FROM ref_habitats.habref h +JOIN ref_habitats.typoref t ON t.cd_typo = h.cd_typo; \ No newline at end of file diff --git a/src/pypn_habref_api/data/habref.sql b/src/pypn_habref_api/data/habref.sql index 0eb5cd8..59aa504 100644 --- a/src/pypn_habref_api/data/habref.sql +++ b/src/pypn_habref_api/data/habref.sql @@ -5,9 +5,9 @@ SET standard_conforming_strings = on; SET check_function_bodies = false; SET client_min_messages = warning; -CREATE SCHEMA IF NOT EXISTS ref_habitat; +CREATE SCHEMA IF NOT EXISTS ref_habitats; -SET search_path = ref_habitat, pg_catalog, public; +SET search_path = ref_habitats, pg_catalog, public; SET default_with_oids = false; @@ -16,15 +16,15 @@ SET default_with_oids = false; --FUNCTIONS-- ------------- -CREATE OR REPLACE FUNCTION ref_habitat.is_communitarian(my_cd_hab integer) +CREATE OR REPLACE FUNCTION ref_habitats.is_communitarian(my_cd_hab integer) RETURNS boolean AS $BODY$ --fonction permettant de savoir si un habitat est communautaire DECLARE is_com integer; BEGIN SELECT INTO is_com count(*) - FROM ref_habitat.habref hab - JOIN ref_habitat.typoref typ ON hab.cd_typo = typ.cd_typo + FROM ref_habitats.habref hab + JOIN ref_habitats.typoref typ ON hab.cd_typo = typ.cd_typo WHERE typ.cd_table = 'TYPO_HIC' AND hab.cd_hab = my_cd_hab; RETURN is_com = 1; @@ -64,7 +64,7 @@ CREATE TABLE typoref ( cd_typo_sortie integer, niveau_inpn character varying(255) -- pas de doc ); -COMMENT ON TABLE ref_habitat.typoref IS 'typoref, table TYPOREF du référentiel HABREF 4.0'; +COMMENT ON TABLE ref_habitats.typoref IS 'typoref, table TYPOREF du référentiel HABREF 4.0'; -- init référentiel HABREF 4.0, table HABREF CREATE TABLE habref ( @@ -83,7 +83,7 @@ CREATE TABLE habref ( france character varying(5), lb_description character varying(4000) ); -COMMENT ON TABLE ref_habitat.habref IS 'habref, table HABREF référentiel HABREF 4.0 INPN'; +COMMENT ON TABLE ref_habitats.habref IS 'habref, table HABREF référentiel HABREF 4.0 INPN'; @@ -101,7 +101,7 @@ CREATE TABLE habref_corresp_hab( date_modif text, diffusion boolean ); -COMMENT ON TABLE ref_habitat.habref_corresp_hab IS 'Table de corespondances entres les habitats de differentes typologie'; +COMMENT ON TABLE ref_habitats.habref_corresp_hab IS 'Table de corespondances entres les habitats de differentes typologie'; CREATE TABLE habref_corresp_taxon( @@ -116,7 +116,7 @@ CREATE TABLE habref_corresp_taxon( date_crea text, date_modif text ); -COMMENT ON TABLE ref_habitat.habref_corresp_taxon IS 'Table de corespondances entres les habitats les taxon (table taxref)'; +COMMENT ON TABLE ref_habitats.habref_corresp_taxon IS 'Table de corespondances entres les habitats les taxon (table taxref)'; CREATE TABLE bib_habref_typo_rel( @@ -129,7 +129,7 @@ CREATE TABLE bib_habref_typo_rel( date_crea text, date_modif text ); -COMMENT ON TABLE ref_habitat.bib_habref_typo_rel IS 'Bibliothèque des types de relations entre habitats - Table habref_typo_rel de HABREF'; +COMMENT ON TABLE ref_habitats.bib_habref_typo_rel IS 'Bibliothèque des types de relations entre habitats - Table habref_typo_rel de HABREF'; CREATE TABLE bib_habref_statuts( @@ -138,7 +138,7 @@ CREATE TABLE bib_habref_statuts( definition character varying(500) NOT NULL, ordre integer ); -COMMENT ON TABLE ref_habitat.bib_habref_statuts IS 'Bibliothèque des types statut d''habitat - Présence, absence ... - Table habref_status de HABREF'; +COMMENT ON TABLE ref_habitats.bib_habref_statuts IS 'Bibliothèque des types statut d''habitat - Présence, absence ... - Table habref_status de HABREF'; CREATE TABLE cor_habref_terr_statut( cd_hab_ter integer NOT NULL, @@ -148,7 +148,7 @@ CREATE TABLE cor_habref_terr_statut( date_crea text, date_modif text ); -COMMENT ON TABLE ref_habitat.cor_habref_terr_statut IS 'Table de correspondance entre un habitat, un territoire et son statut - Table habref_terr de HABREF' ; +COMMENT ON TABLE ref_habitats.cor_habref_terr_statut IS 'Table de correspondance entre un habitat, un territoire et son statut - Table habref_terr de HABREF' ; CREATE TABLE typoref_fields( cd_hab_field integer NOT NULL, @@ -162,7 +162,7 @@ CREATE TABLE typoref_fields( date_crea text, date_modif text ); -COMMENT ON TABLE ref_habitat.cor_habref_terr_statut IS 'Table de descritpion des champs additionnels de chaque typologie.' ; +COMMENT ON TABLE ref_habitats.cor_habref_terr_statut IS 'Table de descritpion des champs additionnels de chaque typologie.' ; CREATE TABLE cor_habref_description( cd_hab_description integer NOT NULL, @@ -173,7 +173,7 @@ CREATE TABLE cor_habref_description( lb_hab_field character varying(200), valeurs text ); -COMMENT ON TABLE ref_habitat.cor_habref_description IS 'Table de correspondance entre un habitat et les champs additionnels décrit dans la table typoref_fields - Table habref_description de HABREF' ; +COMMENT ON TABLE ref_habitats.cor_habref_description IS 'Table de correspondance entre un habitat et les champs additionnels décrit dans la table typoref_fields - Table habref_description de HABREF' ; CREATE TABLE habref_sources( @@ -189,7 +189,7 @@ CREATE TABLE habref_sources( date_crea text, date_modif text ); -COMMENT ON TABLE ref_habitat.habref_sources IS 'Table des sources décrivant les habitats' ; +COMMENT ON TABLE ref_habitats.habref_sources IS 'Table des sources décrivant les habitats' ; CREATE TABLE cor_hab_source( @@ -201,21 +201,21 @@ CREATE TABLE cor_hab_source( date_crea text, date_modif text ); -COMMENT ON TABLE ref_habitat.cor_hab_source IS 'Table de corespondance entre une unité (cd_hab, cd_coresp_hab, cd_coresp_taxon) et une source - Table habref_lien_source de HABREF'; +COMMENT ON TABLE ref_habitats.cor_hab_source IS 'Table de corespondance entre une unité (cd_hab, cd_coresp_hab, cd_coresp_taxon) et une source - Table habref_lien_source de HABREF'; CREATE TABLE bib_list_habitat ( id_list serial NOT NULL, list_name character varying(255) NOT NULL ); -COMMENT ON TABLE ref_habitat.bib_list_habitat IS 'Table des listes des habitats'; +COMMENT ON TABLE ref_habitats.bib_list_habitat IS 'Table des listes des habitats'; CREATE TABLE cor_list_habitat ( id_cor_list serial NOT NULL, id_list integer NOT NULL, cd_hab integer NOT NULL ); -COMMENT ON TABLE ref_habitat.cor_list_habitat IS 'Habitat de chaque liste'; +COMMENT ON TABLE ref_habitats.cor_list_habitat IS 'Habitat de chaque liste'; CREATE TABLE autocomplete_habitat( @@ -278,47 +278,47 @@ ALTER TABLE ONLY autocomplete_habitat --------------- ALTER TABLE ONLY habref - ADD CONSTRAINT fk_typoref FOREIGN KEY (cd_typo) REFERENCES ref_habitat.typoref (cd_typo) ON UPDATE CASCADE; + ADD CONSTRAINT fk_typoref FOREIGN KEY (cd_typo) REFERENCES ref_habitats.typoref (cd_typo) ON UPDATE CASCADE; ALTER TABLE ONLY cor_list_habitat - ADD CONSTRAINT fk_cor_list_habitat_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; + ADD CONSTRAINT fk_cor_list_habitat_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitats.habref (cd_hab) ON UPDATE CASCADE; ALTER TABLE ONLY cor_list_habitat - ADD CONSTRAINT fk_cor_list_habitat_id_list FOREIGN KEY (id_list) REFERENCES ref_habitat.bib_list_habitat (id_list) ON UPDATE CASCADE; + ADD CONSTRAINT fk_cor_list_habitat_id_list FOREIGN KEY (id_list) REFERENCES ref_habitats.bib_list_habitat (id_list) ON UPDATE CASCADE; ALTER TABLE ONLY habref_corresp_hab - ADD CONSTRAINT fk_habref_corresp_hab_cd_type_rel FOREIGN KEY (cd_type_relation) REFERENCES ref_habitat.bib_habref_typo_rel (cd_type_rel) ON UPDATE CASCADE; + ADD CONSTRAINT fk_habref_corresp_hab_cd_type_rel FOREIGN KEY (cd_type_relation) REFERENCES ref_habitats.bib_habref_typo_rel (cd_type_rel) ON UPDATE CASCADE; ALTER TABLE ONLY habref_corresp_hab - ADD CONSTRAINT fk_habref_corresp_hab_cd_hab_entre FOREIGN KEY (cd_hab_entre) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; + ADD CONSTRAINT fk_habref_corresp_hab_cd_hab_entre FOREIGN KEY (cd_hab_entre) REFERENCES ref_habitats.habref (cd_hab) ON UPDATE CASCADE; ALTER TABLE ONLY habref_corresp_hab - ADD CONSTRAINT fk_habref_corresp_hab_cd_hab_sortie FOREIGN KEY (cd_hab_sortie) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; + ADD CONSTRAINT fk_habref_corresp_hab_cd_hab_sortie FOREIGN KEY (cd_hab_sortie) REFERENCES ref_habitats.habref (cd_hab) ON UPDATE CASCADE; ALTER TABLE ONLY habref_corresp_taxon - ADD CONSTRAINT fk_habref_corresp_tax_cd_typ_rel FOREIGN KEY (cd_type_relation) REFERENCES ref_habitat.bib_habref_typo_rel (cd_type_rel) ON UPDATE CASCADE; + ADD CONSTRAINT fk_habref_corresp_tax_cd_typ_rel FOREIGN KEY (cd_type_relation) REFERENCES ref_habitats.bib_habref_typo_rel (cd_type_rel) ON UPDATE CASCADE; ALTER TABLE ONLY habref_corresp_taxon - ADD CONSTRAINT fk_habref_corresp_tax_cd_hab_entre FOREIGN KEY (cd_hab_entre) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; + ADD CONSTRAINT fk_habref_corresp_tax_cd_hab_entre FOREIGN KEY (cd_hab_entre) REFERENCES ref_habitats.habref (cd_hab) ON UPDATE CASCADE; -- ALTER TABLE ONLY habref_corresp_taxon -- ADD CONSTRAINT fk_habref_corresp_tax_cd_nom FOREIGN KEY (cd_nom) REFERENCES taxonomie.taxref (cd_nom) ON UPDATE CASCADE; ALTER TABLE ONLY cor_habref_terr_statut - ADD CONSTRAINT fk_cor_habref_terr_statut_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE; + ADD CONSTRAINT fk_cor_habref_terr_statut_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitats.habref (cd_hab) ON UPDATE CASCADE; ALTER TABLE ONLY cor_habref_terr_statut - ADD CONSTRAINT fk_cor_habref_terr_statut_cd_statut_presence FOREIGN KEY (cd_statut_presence) REFERENCES ref_habitat.bib_habref_statuts (statut) ON UPDATE CASCADE; + ADD CONSTRAINT fk_cor_habref_terr_statut_cd_statut_presence FOREIGN KEY (cd_statut_presence) REFERENCES ref_habitats.bib_habref_statuts (statut) ON UPDATE CASCADE; ALTER TABLE ONLY cor_habref_description - ADD CONSTRAINT fk_cor_habref_description_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitat.habref (cd_hab) ON UPDATE CASCADE ON DELETE CASCADE; + ADD CONSTRAINT fk_cor_habref_description_cd_hab FOREIGN KEY (cd_hab) REFERENCES ref_habitats.habref (cd_hab) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE ONLY cor_habref_description - ADD CONSTRAINT fk_cor_habref_description_cd_hab_field FOREIGN KEY (cd_hab_field) REFERENCES ref_habitat.typoref_fields (cd_hab_field) ON UPDATE CASCADE ON DELETE CASCADE; + ADD CONSTRAINT fk_cor_habref_description_cd_hab_field FOREIGN KEY (cd_hab_field) REFERENCES ref_habitats.typoref_fields (cd_hab_field) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE ONLY cor_hab_source - ADD CONSTRAINT fk_cor_cor_hab_source_cd_source FOREIGN KEY (cd_source) REFERENCES ref_habitat.habref_sources (cd_source) ON UPDATE CASCADE ON DELETE CASCADE; + ADD CONSTRAINT fk_cor_cor_hab_source_cd_source FOREIGN KEY (cd_source) REFERENCES ref_habitats.habref_sources (cd_source) ON UPDATE CASCADE ON DELETE CASCADE; ---------- diff --git a/src/pypn_habref_api/models.py b/src/pypn_habref_api/models.py index 5a14955..e4cb8f8 100644 --- a/src/pypn_habref_api/models.py +++ b/src/pypn_habref_api/models.py @@ -14,7 +14,7 @@ @serializable class BibHabrefTypoRel(DB.Model): __tablename__ = "bib_habref_typo_rel" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} cd_type_rel = DB.Column(DB.Integer, primary_key=True) lb_type_rel = DB.Column(DB.Unicode) lb_rel = DB.Column(DB.Unicode) @@ -26,13 +26,13 @@ class BibHabrefTypoRel(DB.Model): @serializable class CorespHab(DB.Model): __tablename__ = "habref_corresp_hab" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} cd_corresp_hab = DB.Column(DB.Integer, primary_key=True) cd_hab_entre = DB.Column( - DB.Integer, ForeignKey("ref_habitat.habref.cd_hab")) + DB.Integer, ForeignKey("ref_habitats.habref.cd_hab")) cd_hab_sortie = DB.Column(DB.Integer) cd_type_relation = DB.Column( - DB.Integer, ForeignKey("ref_habitat.bib_habref_typo_rel.cd_type_rel") + DB.Integer, ForeignKey("ref_habitats.bib_habref_typo_rel.cd_type_rel") ) lb_condition = DB.Column(DB.Unicode) lb_remarques = DB.Column(DB.Unicode) @@ -48,7 +48,7 @@ class CorespHab(DB.Model): @serializable class TypoRef(DB.Model): __tablename__ = "typoref" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} cd_typo = DB.Column(DB.Integer, primary_key=True) cd_table = DB.Column(DB.Unicode) lb_nom_typo = DB.Column(DB.Unicode) @@ -78,10 +78,10 @@ class TypoRef(DB.Model): @serializable class Habref(DB.Model): __tablename__ = "habref" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} cd_hab = DB.Column(DB.Integer, primary_key=True) fg_validite = DB.Column(DB.Unicode) - cd_typo = DB.Column(DB.Integer, ForeignKey("ref_habitat.typoref.cd_typo")) + cd_typo = DB.Column(DB.Integer, ForeignKey("ref_habitats.typoref.cd_typo")) lb_code = DB.Column(DB.Unicode) lb_hab_fr = DB.Column(DB.Unicode) lb_hab_fr_complet = DB.Column(DB.Unicode) @@ -101,7 +101,7 @@ class Habref(DB.Model): @serializable class BibListHabitat(DB.Model): __tablename__ = "bib_list_habitat" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} id_list = DB.Column(DB.Integer, primary_key=True) list_name = DB.Column(DB.Unicode) @@ -109,17 +109,17 @@ class BibListHabitat(DB.Model): @serializable class CorListHabitat(DB.Model): __tablename__ = "cor_list_habitat" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} id_cor_list = DB.Column(DB.Integer, primary_key=True) id_list = DB.Column(DB.Integer, ForeignKey( - "ref_habitat.bib_list_habitat.id_list")) - cd_hab = DB.Column(DB.Integer, ForeignKey("ref_habitat.habref.cd_hab")) + "ref_habitats.bib_list_habitat.id_list")) + cd_hab = DB.Column(DB.Integer, ForeignKey("ref_habitats.habref.cd_hab")) @serializable class AutoCompleteHabitat(DB.Model): __tablename__ = "autocomplete_habitat" - __table_args__ = {"schema": "ref_habitat"} + __table_args__ = {"schema": "ref_habitats"} cd_hab = DB.Column(DB.Integer, primary_key=True) cd_typo = DB.Column(DB.Integer) lb_code = DB.Column(DB.Unicode) diff --git a/src/pypn_habref_api/scripts/database.py b/src/pypn_habref_api/scripts/database.py index 5dbfb29..eab21be 100644 --- a/src/pypn_habref_api/scripts/database.py +++ b/src/pypn_habref_api/scripts/database.py @@ -41,12 +41,12 @@ def check_if_schema_exist(database_uri): engine = database_connect(database_uri) with engine.connect(): sql = ''' - SELECT count(*) FROM information_schema.schemata WHERE schema_name = 'ref_habitat'; + SELECT count(*) FROM information_schema.schemata WHERE schema_name = 'ref_habitats'; ''' r = engine.execute(sql).fetchone() if r[0] == 1: - raise Exception('Schema ref_habitat already exist') - click.echo("Schema ref_habitat does not exist, let's install it !") + raise Exception('Schema ref_habitats already exist') + click.echo("Schema ref_habitats does not exist, let's install it !") def database_connect(database_uri): @@ -71,7 +71,7 @@ def run_sql_scripts(engine, databse_uri): code = subprocess.call(command.split()) if code != 0: raise Exception( - 'An error occured while insering Habref data in ref_habitat schema' + 'An error occured while insering Habref data in ref_habitats schema' ) conn.execute('COMMIT') conn.close() @@ -85,14 +85,14 @@ def main(): @main.command() @click.argument('db_uri') def install_schema(db_uri): - click.echo('Initialized the schema ref_habitat in, {}'.format(db_uri)) + click.echo('Initialized the schema ref_habitats in, {}'.format(db_uri)) check_if_schema_exist(db_uri) download_habref() engine = database_connect(db_uri) run_sql_scripts(engine, db_uri) click.echo('\n\n ') click.echo('\o/ ') - click.echo('## Install sucessfully schema ref_habitat ##') + click.echo('## Install sucessfully schema ref_habitats ##') @main.command() From a57872680dab50b999b1437d1b9fc351803b063d Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Tue, 17 Dec 2019 12:06:01 +0100 Subject: [PATCH 07/21] typo --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 2edf924..e193ab2 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -7,7 +7,7 @@ CHANGELOG Premère version stabilisée du sous-module Habref. -* SQL de création d'un schéma ref_habitats contenant les données HABREF 5 +* SQL de création d'un schéma `ref_habitats` contenant les données HABREF 5 * Commande python de création et d'import des données HABREF * API d'interrogation du référentiel Habref: - recherche dans la table Habref sur l'ensemble des champs From 597e28b0fed454130ca2809932c4f5dfec5f5ff0 Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Tue, 17 Dec 2019 12:36:22 +0100 Subject: [PATCH 08/21] Back to DEV --- docs/changelog.rst | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index e193ab2..4628ba4 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2,16 +2,23 @@ CHANGELOG ========= +0.1.1 (unreleased) +------------------ + +**Corrections** + +* + 0.1.0 (2019-12-17) ------------------------------------ +------------------ Premère version stabilisée du sous-module Habref. -* SQL de création d'un schéma `ref_habitats` contenant les données HABREF 5 +* SQL de création d'un schéma ``ref_habitats`` contenant les données du référentiel HABREF 5.0 * Commande python de création et d'import des données HABREF -* API d'interrogation du référentiel Habref: - - recherche dans la table Habref sur l'ensemble des champs - - Interrogation de la table typo_ref - - Recherche d'informations sur un habitat et ses correspondances - - Interrogation autcompletée et intelligente sur des liste d'habitats créees au préalable +* API d'interrogation du référentiel Habref : + - Recherche dans la table ``habref`` sur l'ensemble des champs (avec usage du trigramme pour la pertinence du résultat) + - Interrogation de la table ``typo_ref`` + - Recherche d'informations sur un habitat et ses correspondances + - Interrogation autocompletée et intelligente sur des listes d'habitats créées au préalable From 0e3e255ac61b085810843cef31db1acfad1b5605 Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Tue, 17 Dec 2019 12:37:03 +0100 Subject: [PATCH 09/21] Typo --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 4628ba4..d69c882 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -12,7 +12,7 @@ CHANGELOG 0.1.0 (2019-12-17) ------------------ -Premère version stabilisée du sous-module Habref. +Première version stabilisée du sous-module Habref. * SQL de création d'un schéma ``ref_habitats`` contenant les données du référentiel HABREF 5.0 * Commande python de création et d'import des données HABREF From 4e508575d198b82fe6c75142df3298ba0c62063a Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Tue, 17 Dec 2019 12:38:01 +0100 Subject: [PATCH 10/21] Typo2 --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index d69c882..64d1b69 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -21,4 +21,4 @@ Première version stabilisée du sous-module Habref. - Recherche dans la table ``habref`` sur l'ensemble des champs (avec usage du trigramme pour la pertinence du résultat) - Interrogation de la table ``typo_ref`` - Recherche d'informations sur un habitat et ses correspondances - - Interrogation autocompletée et intelligente sur des listes d'habitats créées au préalable + - Interrogation auto-complétée et intelligente sur des listes d'habitats créées au préalable From b476315595e52b23f93cb90b2b820c312ccdabdc Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Tue, 17 Dec 2019 12:38:29 +0100 Subject: [PATCH 11/21] Back to DEV --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 6c6aa7c..a665ad8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.0 \ No newline at end of file +0.1.1.dev0 From f90204ae7f0c32aacc004b7e45c56ee0f4807beb Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Tue, 17 Dec 2019 12:40:52 +0100 Subject: [PATCH 12/21] Correction Changelog --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 64d1b69..b44e60a 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -18,7 +18,7 @@ Première version stabilisée du sous-module Habref. * Commande python de création et d'import des données HABREF * API d'interrogation du référentiel Habref : - - Recherche dans la table ``habref`` sur l'ensemble des champs (avec usage du trigramme pour la pertinence du résultat) + - Recherche dans la table ``habref`` sur l'ensemble des champs - Interrogation de la table ``typo_ref`` - Recherche d'informations sur un habitat et ses correspondances - Interrogation auto-complétée et intelligente sur des listes d'habitats créées au préalable From 481e88f92eda0dcdc89ee40fd92b720034c62a3f Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Wed, 18 Dec 2019 11:50:02 +0100 Subject: [PATCH 13/21] ajout MANIFEST.in pour inclure les fichier sql dans le paquet --- MANIFEST.in | 1 + setup.py | 3 +-- src/pypn_habref_api/data/__init__.py | 0 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 MANIFEST.in create mode 100644 src/pypn_habref_api/data/__init__.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..0c02843 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +recursive-include src *.sql diff --git a/setup.py b/setup.py index 2b46667..ab00284 100644 --- a/setup.py +++ b/setup.py @@ -25,9 +25,8 @@ def get_version(path="./VERSION"): url='https://github.com/PnX-SI/Habref-api-module', packages=setuptools.find_packages('src'), package_dir={'': 'src'}, - install_requires=list(open('requirements.txt', 'r')), include_package_data=True, - # cmdclass={'install_db': InstallDB}, + install_requires=list(open('requirements.txt', 'r')), entry_points=''' [console_scripts] install_habref_schema=pypn_habref_api.scripts.database:install_schema diff --git a/src/pypn_habref_api/data/__init__.py b/src/pypn_habref_api/data/__init__.py new file mode 100644 index 0000000..e69de29 From 7b2edf1f5a15945f0d997fd0d09cf8a1209aaf9f Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Wed, 18 Dec 2019 11:51:57 +0100 Subject: [PATCH 14/21] changelog --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index b44e60a..c4ae472 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -7,7 +7,7 @@ CHANGELOG **Corrections** -* +* Ajout des fichiers SQL d'installation du schéma ``ref_habitats`` dans le paquet 0.1.0 (2019-12-17) ------------------ From 399a3741e7e31a6036ba06df48cc1a597876d45c Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Wed, 18 Dec 2019 14:04:57 +0100 Subject: [PATCH 15/21] Mise en forme README --- README.md | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 7aa497a..69a28a0 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,35 @@ # Habref-api-module -API d'interrogation d'Habref: référentiel des Habitat de l'INPN : https://inpn.mnhn.fr/telechargement/referentiels/habitats +API d'interrogation d'Habref : référentiel des typologies d’habitats et de végétation pour la France (https://inpn.mnhn.fr/telechargement/referentiels/habitats). ## Technologies - Python 3 - Flask -- SqlAlchemy +- SQLAlchemy ## Installation -- Créer un virtualenv et l'activer +- Créer un virtualenv et l'activer : +``` +virtualenv -p /usr/bin/python3 venv +source venv/bin/acticate +``` - virtualenv -p /usr/bin/python3 venv - source venv/bin/acticate +- Installer le module : -- Installer le module +``` +pip install https://github.com/PnX-SI/Habref-api-module/archive/.zip +``` +- Installer le schéma de base de données : - pip install https://github.com/PnX-SI/Habref-api-module/archive/.zip +Le module est fourni avec une commande pour installer la base de données. Cette commande télécharge le référentiel Habref et créé un schéma de base de données nommé ``ref_habitats``. -- Installer le schéma de base de données - -Le module est fourni avec une commande pour installer la base de données. Cette commande télécharge le référentiel habref et crée un schéma de base de données nommé `ref_habitats` - -:: - - # depuis le virtualenv - install_habref_schema - # ex: - # install_habref_schema "postgresql://geonatadmin:monpassachanger@localhost:5432/geonature2db" +``` +# Depuis le virtualenv +install_habref_schema +# Exemple : +# install_habref_schema "postgresql://geonatadmin:monpassachanger@localhost:5432/geonature2db" +``` From 3f6e7016f0be5c0d6ad8fd018dbc1c822af00f83 Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Wed, 18 Dec 2019 15:21:18 +0100 Subject: [PATCH 16/21] prepa release --- VERSION | 2 +- docs/changelog.rst | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index a665ad8..17e51c3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.1.dev0 +0.1.1 diff --git a/docs/changelog.rst b/docs/changelog.rst index c4ae472..e2675db 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2,12 +2,13 @@ CHANGELOG ========= -0.1.1 (unreleased) +0.1.1 (2019-12-18) ------------------ **Corrections** * Ajout des fichiers SQL d'installation du schéma ``ref_habitats`` dans le paquet +* Montée de version de la librairie utils-Flask-SQLAlchemy 0.1.0 (2019-12-17) ------------------ From aef25d078ddac79949dbc2588e31fe3e3b5b9b66 Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Wed, 18 Dec 2019 16:03:52 +0100 Subject: [PATCH 17/21] up version utils-flask-sqla --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 264ae6a..116f086 100755 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,5 @@ sqlalchemy==1.3.3 flask-sqlalchemy==2.3.2 psycopg2==2.7.5 Flask-Admin==1.5.3 -utils-flask-sqlalchemy==0.0.2 +utils-flask-sqlalchemy==0.1.0 click==6.7 \ No newline at end of file From 07a589d633f8b7130b0cf49f1f31cb7ed5efbe14 Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Fri, 20 Dec 2019 11:20:01 +0100 Subject: [PATCH 18/21] Correction erreur 500 lorsqu'il n'y a pas de correspondance --- src/pypn_habref_api/routes.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pypn_habref_api/routes.py b/src/pypn_habref_api/routes.py index 71466dc..2c24fd2 100644 --- a/src/pypn_habref_api/routes.py +++ b/src/pypn_habref_api/routes.py @@ -72,14 +72,14 @@ def get_hab(cd_hab): :type cd_hab: int """ one_hab = DB.session.query(Habref).get(cd_hab).as_dict(True) - for cor in one_hab["correspondances"]: - hab_sortie = DB.session.query(Habref).get( - cor["cd_hab_sortie"]).as_dict(True) - cor["habref"] = hab_sortie + if 'correspondances' in one_hab: + for cor in one_hab["correspondances"]: + hab_sortie = DB.session.query(Habref).get( + cor["cd_hab_sortie"]).as_dict(True) + cor["habref"] = hab_sortie return one_hab - @routes.route("/habitats/autocomplete/list/", methods=["GET"]) @json_resp def get_habref_autocomplete(id_list): From 0741ffae79d85ba0139876b91720fa3076e7bd60 Mon Sep 17 00:00:00 2001 From: TheoLechemia Date: Fri, 20 Dec 2019 11:21:19 +0100 Subject: [PATCH 19/21] prepa release --- VERSION | 2 +- docs/changelog.rst | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 17e51c3..d917d3e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.1 +0.1.2 diff --git a/docs/changelog.rst b/docs/changelog.rst index e2675db..37916e8 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2,6 +2,13 @@ CHANGELOG ========= +0.1.2 (2019-12-20) +------------------ + +**Corrections** + +* Correction erreur 500 lorsqu'un habitat n'a pas de correspondance + 0.1.1 (2019-12-18) ------------------ From 93948979eb5859b5815d93c9f634b0e03c92a505 Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Fri, 20 Dec 2019 12:50:16 +0100 Subject: [PATCH 20/21] Back to DEV --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d917d3e..09e7875 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.2 +0.1.3.dev0 From 7d034657637096b6c0a62f27a66f5bf57827a471 Mon Sep 17 00:00:00 2001 From: Camille Monchicourt Date: Fri, 20 Dec 2019 12:51:05 +0100 Subject: [PATCH 21/21] Back to DEV --- docs/changelog.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 37916e8..d329be3 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2,6 +2,13 @@ CHANGELOG ========= +0.1.3 (unreleased) +------------------ + +**Corrections** + +* + 0.1.2 (2019-12-20) ------------------