From ce39a78b3a18872011207d97d85645defc1f540f Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:49:54 +0200 Subject: [PATCH 01/19] Update Dockerfiles/docker-compose files --- ckan-ogc/Dockerfile | 1 - ckan-ogc/Dockerfile.dev | 2 -- ckan-ogc/Dockerfile.ghcr | 5 ----- ckan-ogc/Dockerfile.ghcr.dev | 5 ----- docker-compose.ghcr.dev.yml | 2 ++ docker-compose.ghcr.yml | 1 + ogc2ckan/mappings/ckan_fields/default.json | 6 +++--- ogc2ckan/mappings/ckan_fields/geodcatap.json | 9 +++++++++ 8 files changed, 15 insertions(+), 16 deletions(-) diff --git a/ckan-ogc/Dockerfile b/ckan-ogc/Dockerfile index 1eac2c8..c7768e1 100644 --- a/ckan-ogc/Dockerfile +++ b/ckan-ogc/Dockerfile @@ -28,6 +28,5 @@ RUN pdm install --no-self --group prod COPY ckan-ogc/conf/config.yaml.template config.yaml COPY ckan-ogc/docker-entrypoint.d/entrypoint.sh entrypoint.sh COPY ogc2ckan ogc2ckan -COPY data data ENTRYPOINT ["/bin/bash", "./entrypoint.sh"] \ No newline at end of file diff --git a/ckan-ogc/Dockerfile.dev b/ckan-ogc/Dockerfile.dev index 36ad206..44fb046 100644 --- a/ckan-ogc/Dockerfile.dev +++ b/ckan-ogc/Dockerfile.dev @@ -27,8 +27,6 @@ RUN pdm install --no-self --group prod COPY ckan-ogc/conf/config.yaml.template config.yaml COPY ckan-ogc/docker-entrypoint.d/entrypoint_dev.sh entrypoint.sh -COPY ogc2ckan ogc2ckan -COPY data data EXPOSE 5678/TCP diff --git a/ckan-ogc/Dockerfile.ghcr b/ckan-ogc/Dockerfile.ghcr index b05c123..4f8256c 100644 --- a/ckan-ogc/Dockerfile.ghcr +++ b/ckan-ogc/Dockerfile.ghcr @@ -14,13 +14,8 @@ ENV TIMEOUT=300 ENV SSL_UNVERIFIED_MODE=False WORKDIR ${APP_DIR} -COPY pyproject.toml pdm.lock . - -RUN pdm install --no-self --group prod COPY ckan-ogc/conf/config.yaml.template config.yaml COPY ckan-ogc/docker-entrypoint.d/entrypoint.sh entrypoint.sh -COPY ogc2ckan ogc2ckan -COPY data data ENTRYPOINT ["/bin/bash", "./entrypoint.sh"] \ No newline at end of file diff --git a/ckan-ogc/Dockerfile.ghcr.dev b/ckan-ogc/Dockerfile.ghcr.dev index 177a6f0..d5ba282 100644 --- a/ckan-ogc/Dockerfile.ghcr.dev +++ b/ckan-ogc/Dockerfile.ghcr.dev @@ -14,14 +14,9 @@ ENV TIMEOUT=300 ENV SSL_UNVERIFIED_MODE=False WORKDIR ${APP_DIR} -COPY pyproject.toml pdm.lock . - -RUN pdm install --no-self --group prod COPY ckan-ogc/conf/config.yaml.template config.yaml COPY ckan-ogc/docker-entrypoint.d/entrypoint_dev.sh entrypoint.sh -COPY ogc2ckan ogc2ckan -COPY data data EXPOSE 5678/TCP diff --git a/docker-compose.ghcr.dev.yml b/docker-compose.ghcr.dev.yml index 52ee99b..91c9dc0 100644 --- a/docker-compose.ghcr.dev.yml +++ b/docker-compose.ghcr.dev.yml @@ -19,4 +19,6 @@ services: volumes: - ./log:${APP_DIR}/log - ./metadata:${APP_DIR}/metadata + - ./data:${APP_DIR}/data + - ./ogc2ckan:${APP_DIR}/ogc2ckan network_mode: host \ No newline at end of file diff --git a/docker-compose.ghcr.yml b/docker-compose.ghcr.yml index 14a296e..e9714ee 100644 --- a/docker-compose.ghcr.yml +++ b/docker-compose.ghcr.yml @@ -16,5 +16,6 @@ services: volumes: - ./log:${APP_DIR}/log - ./metadata:${APP_DIR}/metadata + - ./data:${APP_DIR}/data restart: on-failure:3 network_mode: host \ No newline at end of file diff --git a/ogc2ckan/mappings/ckan_fields/default.json b/ogc2ckan/mappings/ckan_fields/default.json index cdc38df..7dcf0f4 100644 --- a/ogc2ckan/mappings/ckan_fields/default.json +++ b/ogc2ckan/mappings/ckan_fields/default.json @@ -47,10 +47,10 @@ { "ckan_object": "Dataset", "ckan_section": "Basic Info", - "metadata_info": "NTI-RISP Theme (M)", - "new_metadata_field": "theme_es", + "metadata_info": "MDR Themes (M)", + "new_metadata_field": "theme_eu", "multiplicity": "1.*", - "codelist": "http://datos.gob.es/kos/sector-publico/sector", + "codelist": "http://publications.europa.eu/resource/authority/data-theme/ENVI", "stored": "List[URI]" }, { diff --git a/ogc2ckan/mappings/ckan_fields/geodcatap.json b/ogc2ckan/mappings/ckan_fields/geodcatap.json index cdc38df..feeda7c 100644 --- a/ogc2ckan/mappings/ckan_fields/geodcatap.json +++ b/ogc2ckan/mappings/ckan_fields/geodcatap.json @@ -44,6 +44,15 @@ "codelist": "https://inspire.ec.europa.eu/metadata-codelist/ResourceType,https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#section-7,https://id.loc.gov/vocabulary/marcgt.html", "stored": "URI" }, + { + "ckan_object": "Dataset", + "ckan_section": "Basic Info", + "metadata_info": "MDR Themes (M)", + "new_metadata_field": "theme_eu", + "multiplicity": "1.*", + "codelist": "http://publications.europa.eu/resource/authority/data-theme", + "stored": "List[URI]" + }, { "ckan_object": "Dataset", "ckan_section": "Basic Info", From 028c4de6b462ac83cdc8c91f9a877b9ea4a550f6 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:06:49 +0200 Subject: [PATCH 02/19] Update .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e4c9954..6e84813 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,9 @@ samples .env data/* !data/README.md -!data/template-table.xlsx +!data/samples/table-sample.xlsx +!data/samples/xml/xml-metadata_file_1.xml +!data/samples/xml/xml-metadata_file_2.xml ogc2ckan/mappings/organizations/* !ogc2ckan/mappings/organizations/README.md !ogc2ckan/mappings/organizations/template-org.yaml From 9892afe1d538c6347df1a4520ba74e96282376a1 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:09:23 +0200 Subject: [PATCH 03/19] Fix .gitignore --- .gitignore | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6e84813..2a3a389 100644 --- a/.gitignore +++ b/.gitignore @@ -10,11 +10,8 @@ metadata/* !metadata/README.md samples .env -data/* !data/README.md -!data/samples/table-sample.xlsx -!data/samples/xml/xml-metadata_file_1.xml -!data/samples/xml/xml-metadata_file_2.xml +!data/samples/* ogc2ckan/mappings/organizations/* !ogc2ckan/mappings/organizations/README.md !ogc2ckan/mappings/organizations/template-org.yaml From a0fe931b91c08d4c155adb2d4231565ea27fdffd Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:12:31 +0200 Subject: [PATCH 04/19] Update data samples --- .gitignore | 3 +- data/README.md | 2 +- .../table-sample.xlsx} | Bin data/sample/xml/xml-metadata_file_1.xml | 1221 +++++++++++++++++ data/sample/xml/xml-metadata_file_2.xml | 1059 ++++++++++++++ 5 files changed, 2283 insertions(+), 2 deletions(-) rename data/{template-table.xlsx => sample/table-sample.xlsx} (100%) create mode 100644 data/sample/xml/xml-metadata_file_1.xml create mode 100644 data/sample/xml/xml-metadata_file_2.xml diff --git a/.gitignore b/.gitignore index 2a3a389..8cd26aa 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,8 @@ metadata/* samples .env !data/README.md -!data/samples/* +!data/sample +data/xml ogc2ckan/mappings/organizations/* !ogc2ckan/mappings/organizations/README.md !ogc2ckan/mappings/organizations/template-org.yaml diff --git a/data/README.md b/data/README.md index 38336fd..eef9e31 100644 --- a/data/README.md +++ b/data/README.md @@ -1,2 +1,2 @@ # Data folder (Inputs) -This folder is used to store `XLS`/`XLSX`/`CSV` tables and `XML` metadata files for uploading datasets to CKAN with `ogc2ckan`. \ No newline at end of file +This folder is used to store tables with metadata records (e.g. `XLS`/`XLSX`) and `XML` metadata files for uploading datasets to CKAN with `ogc2ckan`. \ No newline at end of file diff --git a/data/template-table.xlsx b/data/sample/table-sample.xlsx similarity index 100% rename from data/template-table.xlsx rename to data/sample/table-sample.xlsx diff --git a/data/sample/xml/xml-metadata_file_1.xml b/data/sample/xml/xml-metadata_file_1.xml new file mode 100644 index 0000000..f9d781c --- /dev/null +++ b/data/sample/xml/xml-metadata_file_1.xml @@ -0,0 +1,1221 @@ + + + + 87ce5171-d713-4eec-a1f3-2b9dd94cad91 + + + + + + + + + + + + + + Fondo Español de Garantía Agraria (FEGA), Subdirección General de Ayudas Directas - Ministerio de Agricultura, Pesca y Alimentación + + + + + + + (+34) 91 347 64 68 + + + (+34) 91 347 64 65 + + + + + + + C/ Beneficencia nº 8 + + + Madrid + + + Madrid + + + 28004 + + + España + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.fega.gob.es + + + + + + + + + + + + 2020-10-27 + + + Reglamento (CE) Nº 1205/2008 de Inspire + Perfil NEM v1.2 + + + TG 2.0.1 + + + + + + + EPSG:4258 (ETRS89 coordenadas geográficas) + + + + + + + + + + + Líneas de declaración del sistema integrado de gestión y control (SIGC) + + + Layer composed by the geometries coming from the Single Applications submitted to receive CAP payments, under the European Agricultural Guarantee Fund (EAGF) and the European Agricultural Fund for Rural Development (EAFRD). + + + + + 2020-10-01 + + + + + + + + + + ESFEGADECLARACIONESSIGPAC20201001001 + + + MAPA + + + + + + + Fondo Español de Garantía Agraria (FEGA), Subdirección General de Ayudas Directas - Ministerio de Agricultura, Pesca y Alimentación + + + + + + + (+34) 91 347 64 68 + + + (+34) 91 347 64 65 + + + + + + + C/ Beneficencia nº 8 + + + Madrid + + + Madrid + + + 28004 + + + España + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.fega.gob.es + + + + + + + + + + + + + + Generalitat Valenciana, Conselleria de Agricultura, Desarrollo Rural, Emergencia climática y Transición Ecológica + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.gva.es + + + + + + + + + + + + + + Gobierno de La Rioja, Consejería de Agricultura, Ganadería, Mundo Rural, Territorio y Población + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.larioja.org + + + + + + + + + + + + + + Gobierno Vasco, Departamento de Desarrollo Económico, Sostenibilidad y Medio Ambiente + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.euskadi.net + + + + + + + + + + + + + + Gobierno de Navarra, Departamento de Desarrollo Rural y Medio Ambiente + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.navarra.es + + + + + + + + + + + + + + Región de Murcia, Consejería de Agua, Agricultura, Ganadería, Pesca, Medio Ambiente y Emergencias + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.carm.es + + + + + + + + + + + + + + Comunidad de Madrid, Consejería de Medio Ambiente, Vivienda y Agricultura + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.madrid.org + + + + + + + + + + + + + + Xunta de Galicia, Consellería del Medio Rural + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.xunta.gal + + + + + + + + + + + + + + Gobierno de Extremadura, Consejería de Agricultura, Desarrollo Rural, Población y Territorio + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + http://www.juntaex.es + + + + + + + + + + + + + + Generalitat de Catalunya, Departamento de Acción Climática, Alimentación y Agenda Rural + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.gencat.cat + + + + + + + + + + + + + + Junta de Castilla y León, Consejería de Agricultura, Ganadería y Desarrollo Rural + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.jcyl.es + + + + + + + + + + + + + + Junta de Comunidades de Castilla-La Mancha, Consejería de Agricultura, Agua y Desarrollo Rural + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.castillalamancha.es + + + + + + + + + + + + + + Gobierno de Cantabria, Consejería de Desarrollo Rural, Ganadería, Pesca, Alimentación y Medio Ambiente + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.cantabria.es + + + + + + + + + + + + + + Gobierno de Canarias, Consejería de Agricultura, Ganadería y Pesca + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.gobiernodecanarias.org + + + + + + + + + + + + + + Gobierno de las Islas Baleares, Consejería de Agricultura, Pesca y Alimentación + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.caib.es + + + + + + + + + + + + + + Gobierno del Principado de Asturias, Consejería de Medio Rural y Cohesión Territorial + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.asturias.es + + + + + + + + + + + + + + Gobierno de Aragón, Departamento de Agricultura, Ganadería y Medio Ambiente + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.aragon.es + + + + + + + + + + + + + + Junta de Andalucía, Consejería de Agricultura, Pesca, Agua y Desarrollo rural + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + https://www.juntadeandalucia.es + + + + + + + + + + + + + + + + + El Reglamento (UE) 2021/2116 en su título V regula el sistema integrado de gestión y control (SIGC) indicando que se aplicará a las intervenciones basadas en la superficie o en los animales enumeradas en el título III, capítulos II y IV, del Reglamento (UE) 2021/2115 y a las medidas a que se refieren el capítulo IV del Reglamento (UE) no 228/2013 y el capítulo IV del Reglamento (UE) no 229/2013. En la medida necesaria, el sistema integrado se utilizará también para gestionar y controlar la condicionalidad y las intervenciones en el sector vitivinícola a que se refiere el título III del Reglamento (UE) 2021/2115. Por ello, se debe establecer un sistema que permita la identificación única de los productores que presenten solicitudes para los diferentes regímenes de ayuda, así como la identificación de las parcelas agrícolas utilizando las técnicas del Sistema de Información Geográfica de Parcelas Agrícolas (SIGPAC). Para ello se establece dentro del SIGC la solicitud única anual de ayudas como medio para que el beneficiario pueda presentar su solicitud para todas las intervenciones basadas en la superficie que considere. + + + Información alfanumérica y gráfica de base para la gestión de las ayudas PAC, que permite conocer las alternativas de cultivo sobre los recintos SIGPAC y las ayudas solicitadas correspondientes, así como la identificación de las superficies de uso comunal, de manera que sea posible una verificación de la información contra diferentes tablas de referencia, la realización de cruces entre los datos provenientes de las distintas solicitudes (para evitar duplicidades) y la elaboración de un plan de inspecciones sobre el terreno y con medios remotos (control y monitorización con imágenes de satélite, ortofotos...), lo que permite verificar los requisitos de subvencionabilidad de las solicitudes. El objetivo último es garantizar una correcta gestión de los fondos comunitarios destinados al sector. + + + Organismos Pagadores de los distintos estados miembros. En España cada comunidad autónoma es Organismo Pagador y a su vez el Fondo Español de Garantía Agraria como coordinador de todos ellos, también lo es. + + + + + Fondo Español de Garantía Agraria (FEGA), Subdirección General de Ayudas Directas - Ministerio de Agricultura, Pesca y Alimentación + + + + + + + (+34) 91 347 64 68 + + + (+34) 91 347 64 65 + + + + + + + C/ Beneficencia nº 8 + + + Madrid + + + Madrid + + + 28004 + + + España + + + sg.ayudasdirectas@fega.es + + + + + + + + + + + + + + + + + + + + + https://www.mapama.gob.es/ide/metadatos/srv/api/records/87ce5171-d713-4eec-a1f3-2b9dd94cad91/attachments/ESFEGADECLARACIONESSIGPAC20201001001_vInspire.png + + + large_thumbnail + + + png + + + + + + + Uso del suelo + + + Cubierta terrestre + + + + + GEMET - INSPIRE themes, version 1.0 + + + + + 2008-06-01 + + + + + + + + + + + + + + Nacional + + + + + Spatial Scope + + + + + 2019-05-22 + + + + + + + + + + + + + + Solicitud Única + + + Ayudas PAC + + + Ayudas FEAGA + + + Ayudas FEADER + + + Sistema Integrado de Gestión y Control (SIGC) + + + Línea de declaración gráfica + + + Recinto SIGPAC + + + Información alfanumérica + + + Subvencionabilidad + + + GSA + + + Agricultural Parcel + + + + + + + Disponer de información anual detallada (alfanumérica y gráfica) de los distintos cultivos y variedades de las explotaciones agrícolas, para su verificación de cara a la percepción de ayudas PAC y para su uso por otras unidades de la Administración, con fines estadísticos y de planificación. + + + + + Ministerio de Agricultura, Pesca y Alimentación + + + + + + + sg.ayudasdirectas@fega.es + + + + + + + + + + + + + + + + + + + CC BY 4.0 + + + Nombrar a la fuente: Fondo Español de Garantía Agraria (FEGA) + + + + + + + + + + Sin limitaciones al acceso público + + + + + + + + + + + + 5000 + + + + + + + + + + farming + + + + + Península Ibérica, Islas Baleares, Islas Canarias + + + + + -19.00 + + + 5.00 + + + 27.00 + + + 44.00 + + + + + + + + 2005-01-01 + + + + + + + + + + + + + + + SHP-ArcView ShapeFile + + + Desconocido + + + Desconocido + + + + + + + + + Fondo Español de Garantía Agraria (FEGA), Subdirección General de Ayudas Directas - Ministerio de Agricultura, Pesca y Alimentación + + + + + + + (+34) 91 347 64 68 + + + (+34) 91 347 64 65 + + + + + + + C/ Beneficencia nº 8 + + + Madrid + + + Madrid + + + 28004 + + + España + + + sg.ayudasdirectas@fega.es + + + + + + + + + + + + + + + + + + https://sigpac.mapa.gob.es/fega/visor/ + + + WWW:LINK-1.0-http--link + + + Visor SIGPAC nacional + + + + + + + + + + https://www.mapa.gob.es/es/agricultura/temas/sistema-de-informacion-geografica-de-parcelas-agricolas-sigpac- + + + WWW:LINK-1.0-http--link + + + Información del Ministerio sobre el Sistema de Información de Parcelas Agrícolas (SIGPAC) + + + + + + + + + + https://www.fega.gob.es/PwfGcp/es/ayudas_dir_desa_rural/aplicacion_sigpac/index.jsp + + + WWW:LINK-1.0-http--link + + + Información sobre el Visor SIGPAC + + + + + + + + + + https://wms.mapa.gob.es/sigpac/wms?request=getcapabilities&Service=WMS + + + WWW:LINK-1.0-http--link + + + Descripción del WMS de SIGPAC + + + + + + + + + + https://www.fega.gob.es/orig/ + + + WWW:LINK-1.0-http--link + + + Enlace de descarga del servicio ATOM del SIGPAC + + + + + + + + + + + + + + + + + + + + + + + + Reglamento (UE) n o 1089/2010 de la Comisión de 23 de noviembre de 2010 por el que se aplica la Directiva 2007/2/CE del Parlamento Europeo y del Consejo en lo que se refiere a la interoperabilidad de los conjuntos y los servicios de datos espaciales + + + + + 2010-12-08 + + + + + + + + + + Consultar el reglamento mencionado + + + true + + + + + + + + + + + + + REGLAMENTO (CE) Nº 1205/2008 DE LA COMISIÓN de 3 de diciembre de 2008 por el que se ejecuta la Directiva 2007/2/CE del Parlamento Europeo y del Consejo en lo que se refiere a los metadatos + + + + + 2008-12-04 + + + + + + + + + + Consultar el reglamento mencionado + + + true + + + + + + + + + LLas declaraciones de la PAC comienzan a realizarse en España en el año 1993. Con el avance de los años y las sucesivas Reformas de la PAC acaecidas, se han ido haciendo más completas en cuanto a la información alfanumérica contenida y, desde 2018, se hacen con base gráfica, delimitando los diferentes cultivos sobre los recintos SIGPAC de referencia. Cada una de las delimitaciones gráficas incluidas en estas declaraciones se denomina “línea de declaración gráfica” y se define como la superficie continua declarada por un agricultor, dentro de un recinto SIGPAC, por la que solicita un mismo producto y su variedad, con el mismo sistema de explotación (secano o regadío) o un mismo aprovechamiento. Toda la superficie de la misma línea de declaración gráfica solicita las mismas intervenciones en el marco del SIGC. Aunque cada campaña ha supuesto un avance en los sistemas para conseguir declaraciones con el menor número de errores posible y se utilizan como base las solicitudes del año anterior, o registros de explotaciones en caso de existir, la aportación anual del titular en la revisión de la información y la actualización conforme a los cambios de campaña, es fundamental para conseguir unos datos fiables y coherentes con la realidad del terreno. De ahí que estas declaraciones supongan una fuente excelente de información actualizada para las distintas administraciones públicas españolas, de gran valor para el sector agroalimentario. + + + + + - Recopilación de información de la campaña anterior. + - Caché de campaña del SIGPAC. + - Actualizaciones de tablas de referencia y de otras fuentes auxiliares de información. + - Preparación de la aplicación web de captura para la campaña, con las adaptaciones a la reglamentación aplicable durante la misma. + - Formación específica al personal encargado de la captura: adminsitraciones y entidades colaboradoras. + - Inicio del período de captura de las declaraciones y solicitudes de la PAC según plazo reglamentario establecido. + - Las solicitudes son presentadas y registradas oficialmente en los puestos de captura previstos por los distintos organismos pagadores. También existe la posibildiad de rpesentarlas a través de organizacines d eproductores o por parte de los particulares. + - Inicio de la gestión de las solicitudes hasta la resolución de las mismas, con fecha límite 30 de junio del año n+1. + - En el último cuatrimestre del año n, comienza la preparación de captura de la campaña siguiente. + + + + + + + Para las declaraciones de la PAC es necesario contar con las siguientes fuentes: + - Caché de campaña del SIGPAC. + - Otras capas de información gráfica de cruce y procedentes de declaraciones de campañas anteriores. + - Tablas de referencia para los valores de contenido homogéneo (cultivos, variedades, líneas de ayuda solicitadas...) . + - Otras fuentes auxiliares de información que permiten realizar cruces y comprobaciones. + - Información en poder de otras administraciones para facilitar verificaciones: Policía, Hacienda, Catastro... + + + + + + + + \ No newline at end of file diff --git a/data/sample/xml/xml-metadata_file_2.xml b/data/sample/xml/xml-metadata_file_2.xml new file mode 100644 index 0000000..2cf586d --- /dev/null +++ b/data/sample/xml/xml-metadata_file_2.xml @@ -0,0 +1,1059 @@ + + + + spaign_cartociudad_addresses + + + Español + + + utf8 + + + + Conjunto de datos + + + + + + + Infraestructura de Datos Espaciales de España (IDEE) + + + Spanish Spatial Data Infrastructure (IDEE) + + + + + + + + + + C/ General Ibáñez de Ibero, 3 + + + Madrid + + + 28003 + + + España + + + ign@mitma.es + + + + + + + https://www.idee.es + + + + + + + Punto de contacto + + + + + 2023-04-10 + + + Reglamento (CE) Nº 1205/2008 de INSPIRE + + + INSPIRE Regulation Nº1205/2008 + + + + + TG 2.0 + + + + + + + + UTF-8 + + + + + + + + + ETRS89 coordenadas geográficas longitud y latitud. + + + + + + + + + + + Direcciones del proyecto Cartociudad de España + + + Addresses of CartoCity project of Spain + + + + + Cartociudad + + + + + 2006-12-31 + + + + + + + + + + cartociudad_addresses + + + SCNE + + + + + + + AD_Address + + + Cartociudad + + + + + + + codigo_postal + + + GrupoCorreos + + + + + mapa digital + + + + + Cartociudad ofrece direcciones postales, topónimos, poblaciones y límites administrativos de España, a través de servicios web, estos datos son complementados con la asignación de los códigos postales. Las fuentes oficiales son: Red de Transporte de la Información Geográfica de Referencia (IGR‐RT) del Sistema Cartográfico Nacional (SCN), Eusko Jaurlaritza - Gobierno Vasco, Dirección General de Catastro, Gobierno de Navarra, Instituto de Estadística y Cartografía de Andalucía (CDAU), Comunidad de Madrid, Gobierno de La Rioja, Diputació de Barcelona, Ayuntamiento de Cáceres, Instituto Cartográfico Valenciano (Generalitat Valenciana), Grupo Correos, Instituto Geográfico Nacional (IGN), e Instituto Nacional de Estadística (INE). + Más información sobre el producto en www.cartociudad.es/portal/. + + + CartoCiudad provides postal addresses, place names, population and administrative units of Spain, through web services, these data are complemented by the assignment of the postal code. The official sources are: Reference Geographic Information Transport Network (IGR-RT) of the National Cartographic System, Eusko Jaurlaritza - Basque Government, General Directorate of Cadastre, Government of Navarre, Andalusian Institute of Statistics and Cartography (CDAU), the Community of Madrid and the Government of La Rioja and, Barcelona Provincial Council, Cáceres City Council, Valencian Cartographic Institute (Generalitat Valenciana), Correos Group, National Geographic Institute, and National Institute of Statistics. + More information on the product at www.cartociudad.es/portal/. + + + + + El propósito de la cartografía digital generada con el proyecto CartoCiudad es su utilización como cartografía urbana de base y la posibilidad de realizar las siguientes operaciones de consulta y navegación: + -Localización directa de objetos: + --Asignar coordenadas a una dirección postal + --Asignar coordenadas a una población + --Asignar coordenadas a un código postal + --Asignar coordenadas a un punto de interés (POI). + -Localización inversa de objetos: + --Asignar una dirección postal a un par de coordenadas + --Asignar un punto de interés a un par de coordenadas + --Asignar una población a un par de coordenadas. + -Calcular distancias a pie entre dos puntos. + -Calcular áreas de proximidad a un punto. + -Calcular puntos de interés más cercanos a una dirección dada. + -Calcular puntos de interés en el entorno definido de una posición dada. + El objetivo del proyecto de CartoCiudad es tener una base de datos lo más completa y actualizada posible, para que el usuario pueda geolocalizar cualquier propiedad sobre el territorio español con información oficial, y así que dicha información sea utilizada también en los diferentes servicios que tiene CartoCiudad, como son los servicios de descarga (Web Feature Service, WFS) y de visualización (Web Map Service, WMS) conformes al Reglamento de Servicios de Red y el servicio de procesamiento (Web Procesing Service, WPS) de OGC y los servicios REST: services y geocodificador que se describirán en los siguientes puntos. + + + The purpose of the digital cartography generated by the CartoCiudad project is its use as basic urban cartography and the possibility of carrying out the following consultation and navigation operations: + -Direct location of objects: + --Assigning coordinates to a postal address + --Assigning coordinates to a population + --Assign coordinates to a postcode + -Assigning coordinates to a point of interest (POI). + -Inverse location of objects: + -Assigning a postal address to a pair of coordinates + -Assigning a point of interest to a pair of coordinates + -Assign a population to a pair of coordinates. + -Calculate walking distances between two points. + -Calculate areas of proximity to a point. + -Calculate points of interest closest to a given direction. + -Calculate points of interest in the defined environment of a given position. + The aim of the CartoCiudad project is to have a database that is as complete and up-to-date as possible, so that the user can geolocate any property on Spanish territory with official information, and so that this information can also be used in the different services that CartoCiudad has, such as Web Feature Service, (WFS) and Web Map Service, (WMS) in accordance with the Network Services Regulations and the processing service (Web Processing Service, WPS) and the REST services: services and geocoder. + + + + + Sitema Cartográfico Nacional http://www.scne.es/#IGR-RT + + + Instituto Geográfico Nacional (IGN) + + + Dirección General del Catastro + + + Instituto Nacional de Estadística (INE) + + + Grupo Correos + + + Instituto Cartográfico Valenciano (Generalitat Valenciana) + + + Gobierno de Navarra + + + Eusko Jaurlaritza/Gobierno Vasco + + + Gobienro de La Rioja + + + Instituto de Estadística y Cartografía de Andalucía (CDAU) + + + Comunidad de Madrid + + + Diputació de Barcelona + + + Ayuntamiento de Cáceres + + + Centro Nacional de Información Geográfica (CNIG) + + + + + Instituto Geográfico Nacional + + + National Geographic Institute + + + + + + + + + ign@mitma.es + + + + + + + https://www.ign.es + + + + + + + Punto de Contacto + + + + + + + Centro Nacional de Información Geográfica (CNIG) + + + Centro Nacional de Información Geográfica (CNIG) + + + + + + + + + consulta@cnig.es + + + + + + + https://www.cnig.es + + + + + + + Publicador + + + + + + + + + + + + + Actualización trimestral + + + + + + + https://www.ign.es/resources/img/metadata/CNIG_AD.jpg + + + + + + + Direcciones + + + theme + + + + + GEMET - INSPIRE themes, version 1.0 + + + + + 2008-06-01 + + + publication + + + + + + + + + + + Nacional + + + + + Ámbito Espacial + + + + + 2019-05-22 + + + Publicación + + + + + + + + + + + IGN + + + CNIG + + + España + + + Spain + + + D. G. Catastro + + + Código Postal + + + Callejero + + + Postal code + + + Thorughfare name + + + Administrative unit name + + + + + + + Visualización de un callejero, con utilidades de búsqueda de direcciones, topónimos, unidades administrativas, códigos postales, y cálculo de distancias mínimas y áreas de influencia, a través del geoportal de CartoCiudad http://www.cartociudad.es o de servicios web estándar. + + + Visualization of a street map, with utilities for searching addresses, place names, administrative units, postal codes, and calculation of minimum distances and areas of influence, through the CartoCiudad geoportal http://www.cartociudad.es or standard web services. + + + + + + + + Centro Nacional de Información Geográfica (CNIG) + + + National Centre of Geographic Information (CNIG) + + + + + + + + + + cartociudad@mitma.es + + + + + + + distributor + + + + + + + + + + + + Sin limitaciones al acceso público. + + + + + + + + + + No se aplican condiciones de acceso y uso. + + + CC BY 4.0 + + + http://www.ign.es/resources/licencia/Condiciones_licenciaUso_IGN.pdf + + + + + vector + + + + + + + 500 + + + + + + + + + + + 1000 + + + + + + + + + + + 25000 + + + + + + + Español + + + Catalán + + + Euskera + + + Gallego + + + utf8 + + + location + + + transportation + + + + + + + + -19.00 + + + 4.30 + + + 27.60 + + + 44.00 + + + + + + + + + https://centrodedescargas.cnig.es/CentroDescargas/documentos/Cartociudad_documentacion.zip + + + + + + + + + x-shapefile + + + Desconocida + + + Ficheros shapefile por provincias + + + Shapefiles of provinces + + + + + + + + + gml+xml + + + 4.0 + + + Especificaciones de datos de Direcciones https://inspire.ec.europa.eu/id/document/tg/ad + + + INSPIRE Data Specification on Addresses – Technical Guidelines https://inspire.ec.europa.eu/id/document/tg/ad + + + + + Archivos GML que contiene los objetos espaciales de direcciones según la especificación de datos de Direcciones de la Directiva Inspire + + + GML files containing the Addresses objects according to INSPIRE Data Specification on Addresses + + + + + + + + + geo+json a través de API Features + + + 1.0.2 + + + UNE-EN ISO 19168-1:2020 Información geográfica. API geoespacial para objetos geográficos. Parte 1: Núcleo https://www.une.org/encuentra-tu-norma/busca-tu-norma/norma?c=N0068527 + + + ISO 19168-1:2020 Geographic information — Geospatial API for features — Part 1: Core https://www.iso.org/standard/32586.html + + + + + + + + + + + + Centro Nacional de Información Geográfica (CNIG) + + + Centro Nacional de Información Geográfica (CNIG) + + + + + + distributor + + + + + + + Descarga gratuita a través del centro de descargas de los servicios de descarga WFS, ATOM Feed, API Features o a través de la web del Centro de Descargas del CNIG. + + + Free download through the CNIG's download centre or through network services of INSPIRE Directive (WFS, ATOM Feed, API Features) + + + + + + + + + + + + Provincias en shapefile y ficheros GML por consultas al WFS de direcciones. + + + Shapefiles of provinces and GML files for queries through Addresses WFS. + + + + + + + https://www.cartociudad.es/wms-inspire/direcciones-ccpp?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0 + + + OGC Web Map Service + + + View Service + + + Servicio de visualzación (WMS), Direcciones y códigos postales + + + View Services (WMS) for the Addresses + + + + + URL de Acceso + + + + + + + https://www.cartociudad.es/wfs-inspire/direcciones?request=GetCapabilities&service=WFS&VERSION=2.0.0 + + + OGC Web Feature Service + + + Download Service + + + Servicio de descarga (WFS) de direcciones + + + Download service (WFS) for the Addresses + + + + + URL de Acceso + + + + + + + http://www.cartociudad.es/geocoder/api/geocoder/candidatesJsonp? + + + Servicio de Geocodificación de direcciones + + + Geocoder service for the Addresses + + + + + URL de Acceso + + + + + + + https://centrodedescargas.cnig.es/CentroDescargas/buscadorCatalogo.do?codFamilia=02122 + + + Centro de Descargas del CNIG + + + Download portal of CNIG + + + + + Permite la descarga de provincias en shapefile y ficheros GML por consultas al WFS de direcciones, así como la descarga de las manzanas catastrales. + + + Website allows to download shapefiles of provinces and GML files for queries through Addresses WFS, as well as the download of the cadastral blocks. + + + + + Descarga + + + + + + + https://tms-ign-base.idee.es/1.0.0/IGNBaseTodo/{z}/{x}/{-y}.jpeg + + + Otros servicios + + + Servicio TMS del Callejero + + + TMS service of Street map + + + + + URL de acceso + + + + + + + + + + https://tms-ign-base.idee.es/1.0.0/IGNBaseOrto/{z}/{x}/{-y}.png + + + Otros servicios + + + Servicio TMS del Callejero para ortoimágen + + + TMS service of Street map to orthoimagery + + + + + URL de acceso + + + + + + + + + + https://api-features.idee.es/collections/direcciones/Address + + + OGC API - Features - Part 1: Core + + + Servicio de descarga de objetos geográficos (API-Features) + + + API de descarga de Direcciones del proyecto Cartociudad de España (API-Features) + + + API for downloading Address of Cartociudad Project (API-Features) + + + + + URL de acceso + + + + + + + + + + + + + dataset + + + + + + + + + + + Reglamento (UE) n o 1089/2010 de la Comisión de 23 de noviembre de 2010 por el que se aplica la Directiva 2007/2/CE del Parlamento Europeo y del Consejo en lo que se refiere a la interoperabilidad de los conjuntos y los servicios de datos espaciales + + + + + 2010-12-08 + + + + + + + + + + Conforme + + + true + + + + + + + + + + + + + REGLAMENTO (CE) Nº 1205/2008 DE LA COMISIÓN de 3 de diciembre de 2008 por el que se ejecuta la Directiva 2007/2/CE del Parlamento Europeo y del Consejo en lo que se refiere a los metadatos + + + + + 2008-12-24 + + + + + + + + + + Conforme + + + true + + + + + + + + + CartoCiudad es un conjunto de datos de direcciones de tipo portal y puntos kilómetricos sobre todo el territorio nacional, generado a partir de datos oficiales. + En líneas generales, los procesos productivos que se llevan a cabo para obtener el producto CartoCiudad son: + - Extracción de datos de la red viaria de la Información Geográfica de Referencia de Redes de Transporte (RT) del IGN. + - Cálculo de la relación entre viales y municipios (municipios que atraviesa cada vial). + - Asignación, por intersección geométrica, de población a la dirección (portal y punto kilométrico) y al topónimo. + - Asignación, por intersección geométrica, de unidad administrativa a la dirección (portal y punto kilométrico) y al topónimo. + - Asignación, por intersección geométrica, de código postal a la dirección (portal y punto kilométrico) y al topónimo. + - Incorporación de manzanas catastrales. + + + CartoCiudad is a set of portal-type addresses and kilometre points over the entire national territory, generated from official data. + In general terms, the production processes carried out to obtain the CartoCiudad product are + - Extraction of data from the road network from the Transport Network Reference Geographic Information + - Calculation of the relationship between roads and municipalities (municipalities crossed by each road). + - Assignment, by geometric intersection, of population to the address (portal and kilometre point) and to place names. + - Assignment, by geometric intersection, of administrative unit to the address (portal and kilometre point) and to place names. + - Assignment, by geometric intersection, of postal code to the address (gate and kilometre point)and to place names. + - Incorporation of cadastral blocks + + + + + + + + CartoCiudad publica, a través de servicios web, las direcciones postales de España con representación puntual generadas a partir de la información de: + 1) La red viaria prodecente de la Red de Transporte de la Información Geográfica de Referencia (IGR‐RT) del SCNE, que está constituida por las vías interurbanas (autopistas, autovías, carreteras, caminos, pistas y sendas) con sus puntos kilométricos y los portales ubicados a borde de parcela. + 2) Las direcciones (calle y número) de diferentes Organismos. Para obtener una cobertura nacional se toman las direcciones de la Dirección General de Catastro, Eusko Jaurlaritza - Gobierno Vasco y Gobierno de Navarra. Se complementan a nivel autonómico con las direcciones del Instituto de Estadística y Cartografía de Andalucía (CDAU), Comunidad de Madrid, y Gobierno de La Rioja y, a nivel local, con las direcciones de la Diputació de Barcelona y Ayuntamiento de Cáceres. + 3) Códigos postales procedente del Grupo Correos con el fin de establecer una relación con las direcciones y núcleos de población del IGN. Además, el Grupo correos aporta la geometría, a partir de la cual se generan los polígonos de códigos postales a través del servicio de visualización. Los códigos postales no están disponibles para su descarga. + 4) El nombre oficial y tipo de vía urbana procedente del Instituto Nacional de Estadística, que facilita el nombre oficial y tipo de vía urbana (calle, avenida, plaza, etc.), recopilados a partir de los datos de los ayuntamientos. Anualmente también aporta los distritos y secciones censales. Estos, al igual que los códigos postales, son visibles y consultables a través de los servicios WMS pero no se pueden descargar sus geometrías. + 5) Líneas límite, poblaciones y puntos de interés procedente del Instituto Geográfico Nacional. Desde el servicio de geocodificación, además de consultar las direcciones se pueden consultar la localización y geometría superficial de los municipios, provincias y comunidades autónomas, puntos de interés procedentes de la Base de datos tridimensional multiescala (1:2.000-1:25.000) con cobertura completa y continua para España, y el Nomenclátor Básico de España (NGBE), y poblaciones. + Esta información está a disposición del público a través del Centro de Descargas del CNIG y se publica mediante servicios de datos espaciales de visualización (WMS), descarga (WFS) y servicios REST, abiertos y gratuitos, de cobertura nacional con licencia CC BY 4.0. Esta información se actualiza trimestralmente. + + + CartoCiudad publishes, through web services, the postal addresses of Spain with specific representation generated from the information of + 1) The road network produced by the Reference Geographical Information Transport Network (IGR-RT), which is made up of interurban roads (motorways, dual carriageways, roads, tracks and paths) with their kilometre points and the portals located on the edge of the plot. + 2) The addresses (street and number) of different bodies. To obtain national coverage, the addresses of the General Directorate of Cadastre, Eusko Jaurlaritza - Basque Government and Government of Navarre are taken. At regional level, these are complemented by the addresses of the Andalusian Institute of Statistics and Cartography (CDAU), the Community of Madrid and the Government of La Rioja and, at local level, by the addresses of the Barcelona Provincial Council and Cáceres City Council. + 3) Postal codes from the Correos Group in order to establish a relationship with the addresses and population centres of the NGI. In addition, Correos Group provides the geometry, from which the postal code polygons are generated through the visualisation service. The postal codes are not available for download. + 4) The official name and type of urban road from the National Institute of Statistics, which provides the official name and type of urban road (street, avenue, square, etc.), compiled from the data of the town councils. Every year it also provides the districts and census sections. These, like the postal codes, are visible and can be consulted through the WMS services but their geometries cannot be downloaded. + 5) Boundary lines, towns and points of interest from the National Geographic Institute From the geocoding service, in addition to consulting the addresses, you can also consult the location and surface geometry of the municipalities, provinces and autonomous communities, points of interest from the multiscale three-dimensional database (1: 2,000-1: 25,000) with complete and continuous coverage for Spain, and the Basic Classification of Spain (NGBE), and towns. + This information is available to the public through the CNIG's Download Centre and is published through spatial data services for viewing (WMS), downloading (WFS) and REST services, open and free of charge, with national coverage under a CC BY 4.0 licence. This information is updated quarterly. + + + + + + + + + + Cartografía catastral urbana de la Dirección General del Catastro: + - MASA (archivo Shapefile): Polígonos que delimitan las manzanas, con la información alfanumérica asociada a dichas geometrías. + - PARCELA (archivo Shapefile): Polígonos que delimitan cada una de las parcelas catastrales, con la información alfanumérica asociada a dichas geometrías. + - CONSTRU (archivo Shapefile): Polígonos que definen las edificaciones y distintas coberturas del suelo, etc. + + + Urban cadastral cartography of the General Directorate of Cadastre + - MASA (Shapefile file): Polygons that delimit the blocks, with the alphanumeric information associated with these geometries. + - PLOT (Shapefile file): Polygons that delimit each of the cadastral plots, with the alphanumeric information associated with these geometries. + - CONSTRU (Shapefile file): Polygons that define the buildings and different land cover, etc. + + + + + + + + + + Información del Instituto Nacional de Estadística (INE) utilizada para generar la Información Geográfica de Referencia de la Red de Transportes del IGN: Callejero de viales en archivo dbf: Tabla de base de datos que contiene la denominación oficial de la vía, número de vía INE, relaciones entre identificadores Dirección General de Catastro y el INE. + + + Information from the National Statistics Institute (INE) used to generate the Reference Geographical Information of the NGI Transport Network: Street directory of roads in dbf file: Database table containing the official name of the road, INE road number, relations between identifiers Directorate General of Cadastre and the INE. + + + + + + + + + + Códigos postales de Correos. + + + Postal codes of Group Correos + + + + + + + + + + Cartografías de otros organismos oficiales (Comunidades Autónomas, Ayuntamientos), principalmente utilizadas para generar la red viaria, y, en el caso del País Vasco y Navarra, para incluir la información catastral y estadística. + + + Direcciones de otros organismos oficiales (Comunidades Autónomas, Ayuntamientos), principalmente utilizadas para generar la red viaria, y, en el caso del País Vasco y Navarra, para incluir la información catastral y estadística. + + + + + + + + + + + \ No newline at end of file From 14eab1904212feeb0e9290da763c7679622ccb6a Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:22:54 +0200 Subject: [PATCH 05/19] Update docker-compose files --- docker-compose.dev.yml | 2 ++ docker-compose.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 86cf880..090a064 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -19,4 +19,6 @@ services: volumes: - ./log:${APP_DIR}/log - ./metadata:${APP_DIR}/metadata + - ./data:${APP_DIR}/data + - ./ogc2ckan:${APP_DIR}/ogc2ckan network_mode: host \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ece3679..6ccca03 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,5 +16,6 @@ services: volumes: - ./log:${APP_DIR}/log - ./metadata:${APP_DIR}/metadata + - ./data:${APP_DIR}/data restart: on-failure:3 network_mode: host \ No newline at end of file From c240eeb31fe0377bfa8147d0f4911fa5d236edd4 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:23:58 +0200 Subject: [PATCH 06/19] Update data sample (xlsx) --- data/sample/table-sample.xlsx | Bin 2002258 -> 2006179 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/sample/table-sample.xlsx b/data/sample/table-sample.xlsx index 188dcd9210e49597c210f2b8902c5454be3ec5b2..1c84d3a58def29512ce27eeebe0bd98948f9c326 100644 GIT binary patch delta 377323 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�>q)u_;5 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%0A!#`U-LfPu%tP|rDGaKcOil<{<@rM2 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%0DXW?@6Y)Nn}8hM&Up6fz^SzLph< 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≶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 xaz!xl>) Date: Tue, 12 Sep 2023 14:24:29 +0200 Subject: [PATCH 07/19] update config.yaml and env templates --- .env.example | 4 +- ckan-ogc/conf/config.yaml.template | 172 +++++++++++++++++++---------- 2 files changed, 113 insertions(+), 63 deletions(-) diff --git a/.env.example b/.env.example index 3a38255..c94c8f2 100644 --- a/.env.example +++ b/.env.example @@ -14,8 +14,8 @@ DEFAULT_LICENSE=http://creativecommons.org/licenses/by/4.0/ DEFAULT_LICENSE_ID=cc-by #TODO: Not implemented PARALLELIZATION=False -## CKAN Dataset schema -CKAN_DATASET_SCHEMA=geodcatap +## CKAN Dataset schema (geodcatap_es, geodcatap_eu) +CKAN_DATASET_SCHEMA=geodcatap_eu ## ckan-ogc unverified mode (True/False). SSL certificate from host will download if SSL_UNVERIFIED_MODE=True, to avoid SSL error when certificate was self-signed. SSL_UNVERIFIED_MODE=False ## If desired to export metadata records (GeoDCAT-AP/ISO19139) as a distributions of the CKAN dataset, set METADATA_DISTRIBUTIONS=True diff --git a/ckan-ogc/conf/config.yaml.template b/ckan-ogc/conf/config.yaml.template index 11d1f41..0c39c35 100644 --- a/ckan-ogc/conf/config.yaml.template +++ b/ckan-ogc/conf/config.yaml.template @@ -1,113 +1,163 @@ # Servers to Harvest [Mandatory] | URL Endpoint harvest_servers: # Geoserver Example - - url: 'http://192.23.82.29:8080/geoserver/ows' - name: 'Example' + - url: 'http://www.example.eu/geoserver/ows' + name: 'Example OGC' groups: [] - active: True + active: False type: 'ogc' - organization: 'Example' - # If the org has a custom mappings: ckan-harvester/src/ckan/ogc_ckan/custom/mappings + organization: 'test' + # If the org has a custom mappings: ckan-ogc/ogc2ckan/mappings/organizations/* custom_organization_active: True - custom_organization_mapping_file: 'Example.yaml' + custom_organization_mapping_file: 'template-org.yaml' private_datasets: False default_dcat_info: - publisher_name: 'Example Project' - publisher_email: 'info@example.es' - publisher_identifier: 'https://example.eu/' - publisher_url: 'https://example.eu/' + publisher_name: 'Example project' + publisher_email: 'info@example.eu' + publisher_identifier: 'https://www.example.eu/org/E05068001' + publisher_url: 'https://www.example.eu' publisher_type: 'http://purl.org/adms/publishertype/NationalAuthority' # Default URIs of metadata contact point and resource maintainer - maintainer_uri: 'https://example.eu/' - contact_uri: 'https://example.eu/' - contact_name: 'Example' - contact_email: 'info@example.es' - contact_url: 'https://example.eu/' - topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/farming' - lineage_process_steps: 'Spatial dataset generated from the original cartography provided by the competent national agency of the Integrated Administration and Control System (IACS) in ESRI Shapefile format at different administrative levels. Transformed and homogenised at national level, stored in a spatial component database (Postgres-PostGIS) and published via a Geoserver-type map server.' - language: 'http://publications.europa.eu/resource/authority/language/ENG' - theme_es: 'http://datos.gob.es/kos/sector-publico/sector/medio-ambiente' + maintainer_uri: 'https://www.example.eu/org/E05068001' + contact_name: 'Example Organization' + contact_email: 'info@example.eu' + contact_uri: 'https://www.example.eu/org/E05068001' + contact_url: 'https://www.example.eu' + lineage_process_steps: 'Spatial dataset generated from the original cartography provided by the competent national agency.' + topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment' + theme_es: 'http://datos.gob.es/kos/sector-publico/sector/transporte' + theme_eu: http://publications.europa.eu/resource/authority/data-theme/ENVI spatial: '{"coordinates": [[[-32.17,26.79],[44.49,26.79],[44.49,71.30],[-32.17,71.30],[-32.17,26.79]]], "type": "Polygon"}' - provenance: 'The spatial data has been produced as part of the Example project (CEF: Action No: 2018-EU-IA-0086).' + spatial_uri: 'http://datos.gob.es/es/recurso/sector-publico/territorio/Pais/España' + language: http://publications.europa.eu/resource/authority/language/SPA + provenance: 'The spatial data has been produced as part of the Example project.' default_keywords: - - name: "Example" - uri: "http://localhost:80/catalog/organization/Example" - - name: "farming" - uri: "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/farming" - - name: "european" - uri: "http://inspire.ec.europa.eu/metadata-codelist/SpatialScope/european" + - name: "test" + uri: "https://www.example.eu/catalog/organization/test" + - name: "environment" + uri: "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment" default_inspire_info: - inspireid_theme: 'LC' + inspireid_theme: 'HB' inspireid_nutscode: 'ES' - inspireid_versionid: '' + inspireid_versionid: '2023' constraints: - keywords: ['Example', 'farming', 'iacs', 'gsaa', 'lpis', 'european'] - mails: ['info@example.es'] + keywords: ['Example', 'farming', 'gsaa', 'lpis', 'european'] + mails: ['info@example.eu'] workspaces: ['iacs'] - # codsi csw + # CSW Catalog Example - url: 'https://www.idee.es/csw-codsi-idee/srv/spa/csw' - name: 'CODSI' + name: 'Spanish INSPIRE Catalog - CODSI' groups: [] active: False type: 'csw' organization: 'test' custom_organization_active: False custom_organization_mapping_file: '' - private_datasets: False + private_datasets: True default_dcat_info: - publisher_name: 'Ministerio de Transportes, Movilidad y Agenda Urbana' - publisher_email: 'buzon-hermes@mitma.es' - publisher_identifier: 'http://datos.gob.es/recurso/sector-publico/org/Organismo/E05065601' - publisher_url: 'https://www.mitma.gob.es' + publisher_name: 'Example Organization' + publisher_email: 'info@example.eu' + publisher_identifier: 'https://www.example.eu/org/E05068001' + publisher_url: 'https://www.example.eu' publisher_type: 'http://purl.org/adms/publishertype/NationalAuthority' # Default URIs of metadata contact point and resource maintainer - maintainer_uri: 'http://datos.gob.es/recurso/sector-publico/org/Organismo/E05065601' - contact_uri: 'http://datos.gob.es/recurso/sector-publico/org/Organismo/E05065601' - topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/transportation' + maintainer_uri: 'https://www.example.eu/org/E05068001' + contact_name: 'Example Organization' + contact_email: 'info@example.eu' + contact_uri: 'https://www.example.eu/org/E05068001' + contact_url: 'https://www.example.eu' + topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment' theme_es: 'http://datos.gob.es/kos/sector-publico/sector/transporte' + theme_eu: http://publications.europa.eu/resource/authority/data-theme/ENVI spatial: '{"coordinates": [[[-32.17,26.79],[44.49,26.79],[44.49,71.30],[-32.17,71.30],[-32.17,26.79]]], "type": "Polygon"}' - spatial_uri: 'https://datos.gob.es/es/recurso/sector-publico/territorio/Pais/España' + spatial_uri: 'http://datos.gob.es/es/recurso/sector-publico/territorio/Pais/España' + language: http://publications.europa.eu/resource/authority/language/SPA default_keywords: - - name: "mitma" - uri: "http://localhost:80/catalog/organization/test" - - name: "transportation" - uri: "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/transportation" + - name: "test" + uri: "https://www.example.eu/catalog/organization/test" + - name: "environment" + uri: "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment" default_inspire_info: - inspireid_theme: 'TN' + inspireid_theme: 'HB' + inspireid_nutscode: 'ES' + inspireid_versionid: '2023' + constraints: + keywords: ['biota'] + mails: [] + + # Folder contains Metadata files (url==path) Example + - url: '/app/data/sample/xml' + name: 'XML Folder' + groups: [] + active: False + type: 'xml' + organization: 'test' + custom_organization_active: False + custom_organization_mapping_file: '' + private_datasets: True + default_dcat_info: + publisher_name: 'Example Organization' + publisher_email: 'info@example.eu' + publisher_identifier: 'https://www.example.eu/org/E05068001' + publisher_url: 'https://www.example.eu' + publisher_type: 'http://purl.org/adms/publishertype/NationalAuthority' + # Default URIs of metadata contact point and resource maintainer + maintainer_uri: 'https://www.example.eu/org/E05068001' + contact_name: 'Example Organization' + contact_email: 'info@example.eu' + contact_uri: 'https://www.example.eu/org/E05068001' + contact_url: 'https://www.example.eu' + topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment' + theme_es: 'http://datos.gob.es/kos/sector-publico/sector/transporte' + theme_eu: http://publications.europa.eu/resource/authority/data-theme/ENVI + spatial: '{"coordinates": [[[-32.17,26.79],[44.49,26.79],[44.49,71.30],[-32.17,71.30],[-32.17,26.79]]], "type": "Polygon"}' + spatial_uri: 'http://datos.gob.es/es/recurso/sector-publico/territorio/Pais/España' + language: http://publications.europa.eu/resource/authority/language/SPA + default_keywords: + - name: "test" + uri: "https://www.example.eu/catalog/organization/test" + - name: "environment" + uri: "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment" + default_inspire_info: + inspireid_theme: 'HB' inspireid_nutscode: 'ES' - inspireid_versionid: '' + inspireid_versionid: '2023' constraints: - keywords: ['transporte'] - mails: ['ign@mitma.es', 'buzon-hermes@mitma.es'] + keywords: [] + mails: [] - # XLSX Metadata - - url: '/app/data/template-table.xlsx' + # XLSX Metadata Example + - url: '/app/data/sample/table-sample.xlsx' name: 'MITMA XLSX' groups: [] active: False type: 'table' - organization: 'mitma' + organization: 'test' custom_organization_active: False custom_organization_mapping_file: '' private_datasets: False default_dcat_info: - publisher_name: 'Ministerio de Transporte, Movilidad y Agenda Urbana (MITMA)' - publisher_email: 'buzon-hermes@mitma.es' - publisher_identifier: 'http://datos.gob.es/recurso/sector-publico/org/Organismo/E05065601' - publisher_url: 'https://www.mitma.gob.es' + publisher_name: 'Example Organization' + publisher_email: 'info@example.eu' + publisher_identifier: 'https://www.example.eu/org/E05068001' + publisher_url: 'https://www.example.eu' publisher_type: 'http://purl.org/adms/publishertype/NationalAuthority' # Default URIs of metadata contact point and resource maintainer - maintainer_uri: 'http://datos.gob.es/recurso/sector-publico/org/Organismo/E05065601' - contact_uri: 'http://datos.gob.es/recurso/sector-publico/org/Organismo/E05065601' - topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/transportation' + maintainer_uri: 'https://www.example.eu/org/E05068001' + contact_name: 'Example Organization' + contact_email: 'info@example.eu' + contact_uri: 'https://www.example.eu/org/E05068001' + contact_url: 'https://www.example.eu' + topic: 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/environment' theme_es: 'http://datos.gob.es/kos/sector-publico/sector/transporte' + theme_eu: http://publications.europa.eu/resource/authority/data-theme/ENVI spatial: '{"coordinates": [[[-32.17,26.79],[44.49,26.79],[44.49,71.30],[-32.17,71.30],[-32.17,26.79]]], "type": "Polygon"}' spatial_uri: 'https://datos.gob.es/es/recurso/sector-publico/territorio/Pais/España' language: 'http://publications.europa.eu/resource/authority/language/SPA' default_keywords: - - name: "mitma" - uri: "http://localhost:80/catalog/organization/test" + - name: "test" + uri: "https://www.example.eu/catalog/organization/test" - name: "transportation" uri: "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/transportation" default_inspire_info: From 205791b423100877cccfce386068ee0b139d282e Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:25:06 +0200 Subject: [PATCH 08/19] Update README Fix .gitignore --- .gitignore | 2 +- README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 56 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 8cd26aa..5a2c2a1 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,7 @@ samples .env !data/README.md !data/sample -data/xml +data/* ogc2ckan/mappings/organizations/* !ogc2ckan/mappings/organizations/README.md !ogc2ckan/mappings/organizations/template-org.yaml diff --git a/README.md b/README.md index bd8d5dd..f648205 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ OverviewQuick startDebug • + Additional info Containers

@@ -17,18 +18,18 @@ Docker Compose environment for ingesting metadata from different spatial/semantic/general metadata sources into CKAN. * OGC harvester (WCS/WFS, WMS & WMTS services) -* CSW harvester (ISO 19115/19139 Metadata) -* CKAN API. - WIP -* Tabular data (CSV, TSV) +* CSW harvester (ISO 19115/19139 Metadata Catalogue Services) * Spreadsheets (XLS/XLSX) -* Metadata files (XML ISO19139) - WIP +* Metadata files (XML ISO19139) +* CKAN API - WIP * Semantic metadata files (RDF/TTL) - WIP +* Tabular data (CSV, TSV) - WIP >**Note**
> It can be tested with an open data portal of the CKAN type such as: : [mjanez/ckan-docker](https://github.com/mjanez/ckan-docker)[^1] ## Quick start -First copy the `.env.example` template and configure by changing the `.env` file. Change `PYCSW_URL` and `CKAN_URL`, as well as the published port `PYCSW_PORT`, if needed. +First copy the `.env.example` template and configure by changing the `.env` file. Change `PYCSW_URL` and `CKAN_URL`, as well as the Harvester info `OGC2CKAN INFO`, if needed. ```bash cp .env.example .env @@ -43,8 +44,9 @@ Custom ennvars: - `DEFAULT_LICENSE`: Default license for the harvested datasets. Open Data default: `http://creativecommons.org/licenses/by/4.0/` - `DEFAULT_LICENSE_ID`: Default license ID for the harvested datasets, ID list: `{ckan_site_url}/api/3/action/license_list`. Open Data default: `cc-by-4.0` - `PARALLELIZATION`: [WIP] Parallelization of the harvesters. Default: `False` -- `CKAN_DATASET_SCHEMA`: Dataset schema of the CKAN Endpoint. Default: `geodcatap` +- `CKAN_DATASET_SCHEMA`: Dataset schema of the CKAN Endpoint. Default: `geodcatap_eu` - `SSL_UNVERIFIED_MODE`: SSL certificate from host will download if `SSL_UNVERIFIED_MODE=True`. Ennvar to avoid SSL error when certificate was self-signed. +- `METADATA_DISTRIBUTIONS`: If need to create a metadata distributions as CKAN resources (GeoDCAT-AP/ISO19139), set `METADATA_DISTRIBUTIONS=True`. Default: `False` >**Warning**
> `SSL_UNVERIFIED_MODE=True` is not recommended for production environments. Update your certificate or use a valid one. **Check the container log if it fails, and put `True` in the `.env` file.** @@ -101,7 +103,12 @@ pdm install --no-self configure your custom `config.yaml`. Define the harvest servers and the CKAN DCAT default info. ```bash -cp ckan-ogc/conf/config.yaml.template ckan-ogc/conf/config.yaml +cp ckan-ogc/conf/config.yaml.template ./config.yaml +``` + +Remember to configure your `.env` +```yaml +cp .env.example .env ``` Run: @@ -111,9 +118,48 @@ pdm run python ogc2ckan/ogc2ckan.py ## Debug ### VSCode +#### Python debugger with Docker 1. Build and run container. -2. Attach Visual Studio Code to container -3. Start debugging on `ogc2ckan.py` Python file (`Debug the currently active Python file`). +2. Attach Visual Studio Code to container. +3. Start debugging on `ogc2ckan.py` Python file (`Debug the currently active Python file`) in the container. + +#### Python debugger without Docker +1. Update the previously created `.env` file in the root of the `ckan-ogc` repo and move it to: [`/ogc2ckan`](/ogc2ckan) +2. Open [`ogc2ckan.py`](/ogc2ckan/ogc2ckan.py). +3. Start debugging on `ogc2ckan.py` Python file (`Debug the currently active Python file`). + +>**Note**
By default, the Python extension looks for and loads a file named `.env` in the current workspace folder. More info about Python debugger and [Enviromental variables use](https://code.visualstudio.com/docs/python/environments#_environment-variables). + +## Additional info +### CKAN Schemas +The CKAN output schemas are located in the [`ogc2ckan/ckan_datasets`](./ogc2ckan/ckan_datasets) folder. The schemas are used to map the metadata fields from the different sources to the CKAN dataset fields. Now are available the following schemas: + * `geodcatap`: Schema based in [GeoDCAT-AP Schema for CKAN](https://github.com/mjanez/ckanext-scheming_dcat). + * `base`: A DCAT schema with the basic fields. + +You can create your own Schema. + +### Harvester +The harvester is located in the [`ogc2ckan/harvesters`](./ogc2ckan/harvesters) folder. The harvester is a Python script that harvests the metadata from the different sources and creates the datasets in CKAN. + +There are differente harvesters: + * `csw`: Harvests the metadata from a CSW server using OWSLib. + * `table`: Harvests the metadata from a XLS/XLSX file that contains the metadata records in a table format using the CKAN `field_name` of the [custom schemas](./ogc2ckan/mappings/ckan_fields) as the column name. + * `ogc`: Harvests the metadata from a OGC server (WCS/WFS, WMS & WMTS services) using OWSLib. + * `xml`: Harvests the metadata from a XML file that contains the metadata records in a ISO19139 format. + +You can create your own Harvester. + +### Configuration file (`config.yaml`) +The configuration file is located in the [`ckan-ogc/conf/config.yaml.template`](./config.yaml.template) file. It is a YAML file that contains the configuration of the harvesters and the CKAN DCAT default info. + +The configuration file contains the elements that are used to configure the harvesters and the CKAN DCAT default info. The required elements inside the Harvesters are specified at Harvester Schema in the [`ogc2ckan/model/harvest_schema.py`](./ogc2ckan/model/harvest_schema.py) file. + +### Custom organizations +A custom organization is a YAML file that contains the custom metadata fields that will be used to create the dataset in CKAN. The custom organization is located in the [`ogc2ckan/mappings/organizations`](./ogc2ckan/mappings/organizations) folder. + +If you need create yous custom organization YAML file use the [`template-org.yaml`](./ogc2ckan/mappings/organizations/template-org.yaml) to create your custom file. Specified by the `dataset_id` the custom organization will be used in the harvested datasets (if the organization exists in the CKAN instance) to create the dataset with the custom metadata fields. + ## Containers List of *containers*: From 4d7f174780173323c037a2df9a2bdac16ed17eaa Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:26:39 +0200 Subject: [PATCH 09/19] Update ckan_datasets and mappings - Update and minor fixes to geodcatap and base (default) metadata schemas to CKAN. - Update default values of ogc2ckan software - Update the harvest_schema for input config.yaml schemas. --- ogc2ckan/ckan_datasets/base.py | 6 +- ogc2ckan/ckan_datasets/ckan_datasets.py | 12 ++++ ogc2ckan/ckan_datasets/geodcatap.py | 6 ++ ogc2ckan/mappings/default_harvest_schemas.py | 2 +- ogc2ckan/mappings/default_ogc2ckan_config.py | 60 ++++++++++++++------ ogc2ckan/model/harvest_schema.py | 9 ++- 6 files changed, 70 insertions(+), 25 deletions(-) diff --git a/ogc2ckan/ckan_datasets/base.py b/ogc2ckan/ckan_datasets/base.py index 69c0c4c..f7c38ce 100644 --- a/ogc2ckan/ckan_datasets/base.py +++ b/ogc2ckan/ckan_datasets/base.py @@ -191,8 +191,8 @@ def set_language(self, language): def set_theme(self, theme): self.theme = theme - def set_theme_es(self, theme_es): - self.theme_es = theme_es + def set_theme_eu(self, theme_eu): + self.theme_eu = theme_eu def set_topic(self, topic): self.topic = topic @@ -356,7 +356,7 @@ def dataset_dict(self): 'version_notes': self.version_notes, 'spatial_resolution_in_meters': self.spatial_resolution_in_meters, 'language': self.language, - 'theme_es': self.theme_es, + 'theme_eu': self.theme_eu, 'theme': self.theme, 'identifier': self.identifier, 'provenance': self.provenance, diff --git a/ogc2ckan/ckan_datasets/ckan_datasets.py b/ogc2ckan/ckan_datasets/ckan_datasets.py index 694e0a0..afabfe5 100644 --- a/ogc2ckan/ckan_datasets/ckan_datasets.py +++ b/ogc2ckan/ckan_datasets/ckan_datasets.py @@ -10,6 +10,18 @@ "datadictionary": BaseDataDictionary, "datadictionaryfield": BaseDataDictionaryField }, + "geodcatap_es": { + "dataset": GeoDataset, + "distribution": GeoDistribution, + "datadictionary": BaseDataDictionary, + "datadictionaryfield": BaseDataDictionaryField + }, + "geodcatap_eu": { + "dataset": GeoDataset, + "distribution": GeoDistribution, + "datadictionary": BaseDataDictionary, + "datadictionaryfield": BaseDataDictionaryField + }, "default": { "dataset": BaseDataset, "distribution": BaseDistribution, diff --git a/ogc2ckan/ckan_datasets/geodcatap.py b/ogc2ckan/ckan_datasets/geodcatap.py index 7a7d165..1e41c05 100644 --- a/ogc2ckan/ckan_datasets/geodcatap.py +++ b/ogc2ckan/ckan_datasets/geodcatap.py @@ -127,6 +127,7 @@ def __init__(self, ckan_id, name, owner_org, license_id): self.topic = "http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/biota" self.keywords = [] self.keywords_uri = [] + self.keywords_thesaurus = [] self.reference_system = None self.spatial = None self.spatial_uri = None @@ -246,6 +247,9 @@ def set_keywords(self, keywords): def set_keywords_uri(self, keywords_uri): self.keywords_uri = keywords_uri + + def set_keywords_thesaurus(self, keywords_thesaurus): + self.keywords_thesaurus = keywords_thesaurus def set_reference_system(self, reference_system): self.reference_system = reference_system @@ -396,6 +400,8 @@ def dataset_dict(self): 'topic': self.topic, 'tags': self.keywords, 'tag_uri': self.keywords_uri, + #TODO: Add tag_thesaurus to CKAN Schema + #'tag_thesaurus': self.keywords_thesaurus, 'dcat_type': self.dcat_type, 'alternate_identifier': self.alternate_identifier, 'representation_type': self.representation_type, diff --git a/ogc2ckan/mappings/default_harvest_schemas.py b/ogc2ckan/mappings/default_harvest_schemas.py index 57fa1b6..237d071 100644 --- a/ogc2ckan/mappings/default_harvest_schemas.py +++ b/ogc2ckan/mappings/default_harvest_schemas.py @@ -37,7 +37,7 @@ "spatial_uri": {"type": "string"}, "language": {"type": "string"}, }, - "required": ["publisher_name", "publisher_email", "publisher_identifier", "publisher_url", "publisher_type", "contact_name", "contact_email", "contact_uri", "contact_url", "topic", "theme_es", "theme_eu", "spatial", "spatial_uri", "language"] + "required": ["publisher_name", "publisher_email", "publisher_identifier", "publisher_url", "publisher_type", "contact_name", "contact_email", "contact_uri", "contact_url", "topic", "theme_eu", "spatial", "spatial_uri", "language"] }, "default_keywords": { "type": "array", diff --git a/ogc2ckan/mappings/default_ogc2ckan_config.py b/ogc2ckan/mappings/default_ogc2ckan_config.py index aba6b35..b498422 100644 --- a/ogc2ckan/mappings/default_ogc2ckan_config.py +++ b/ogc2ckan/mappings/default_ogc2ckan_config.py @@ -25,8 +25,8 @@ 'keywords': ['xls', 'csv'], 'formats': ['csv', 'xls', 'xlsx', 'tsv'] }, - 'metadata_file': { - 'type': 'metadata_file', + 'xml': { + 'type': 'xml', 'active': True, 'keywords': ['xml', 'iso', 'gmd', 'inspire'], 'formats': ['xml'] @@ -41,7 +41,8 @@ 'update_ckan_resource': '/api/3/action/resource_update', 'create_ckan_resource_view': '/api/3/action/resource_view_create', 'create_ckan_resource_dictionary': '/api/3/action/resource_dictionary_create', - 'get_ckan_datasets_list': '/api/3/action/package_search?fl={fields}&rows={rows}', + 'get_ckan_datasets_list': '/api/3/action/package_search?fl={fields}&rows={rows}&include_private={include_private}', + 'get_ckan_datasets_list_paginate': '/api/3/action/package_search?fl={fields}&rows={rows}&start={start}&include_private={include_private}', 'get_ckan_dataset_info': '/api/3/action/package_search?q={field}:"{field_value}"', } @@ -55,7 +56,7 @@ 'parallelization': False, 'ssl_unverified_mode': False, 'dir3_url': 'http://datos.gob.es/es/recurso/sector-publico/org/Organismo', - 'ckan_dataset_schema': 'geodcatap', + 'ckan_dataset_schema': 'geodcatap-eu', 'metadata_distributions': False, 'ckan_fields_json': 'geodcatap.json' } @@ -75,7 +76,11 @@ 'conformance': [ 'http://inspire.ec.europa.eu/documents/inspire-metadata-regulation','http://inspire.ec.europa.eu/documents/commission-regulation-eu-no-13122014-10-december-2014-amending-regulation-eu-no-10892010-0' ], - 'contact_name': 'OGC CKAN Tools', + 'author': 'ckan-ogc', + 'author_email': 'admin@localhost', + 'author_url': 'http://localhost:5000/organization/test', + 'author_uri': 'http://localhost:5000/organization/test', + 'contact_name': 'ckan-ogc', 'contact_email': 'admin@localhost', 'contact_url': 'http://localhost:5000/organization/test', 'contact_uri': 'http://localhost:5000/organization/test', @@ -85,29 +90,48 @@ 'service': 'http://inspire.ec.europa.eu/metadata-codelist/ResourceType/service', 'default': 'http://inspire.ec.europa.eu/metadata-codelist/ResourceType/dataset', }, + 'encoding': 'UTF-8', 'frequency' : 'http://publications.europa.eu/resource/authority/frequency/UNKNOWN', + 'inspireid_theme': 'HB', 'language': 'http://publications.europa.eu/resource/authority/language/ENG', - 'spatial_representation_type': { - 'wfs': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/vector', - 'wcs': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/grid', - 'default': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/vector', - 'grid': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/grid', - 'vector': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/vector', - 'textTable': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/textTable', - 'tin': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/tin', - 'stereoModel': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/stereoModel', - 'video': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/video', - }, + 'license': 'http://creativecommons.org/licenses/by/4.0/', + 'license_id': 'cc-by', + 'lineage_process_steps': 'ckan-ogc lineage process steps.', + 'maintainer': 'ckan-ogc', + 'maintainer_email': 'admin@localhost', + 'maintainer_url': 'http://localhost:5000/organization/test', + 'maintainer_uri': 'http://localhost:5000/organization/test', 'metadata_profile': [ "http://semiceu.github.io/GeoDCAT-AP/releases/2.0.0","http://inspire.ec.europa.eu/document-tags/metadata" ], - 'publisher_name': 'OGC CKAN Tools', + 'provenance': 'ckan-ogc provenance statement.', + 'publisher_name': 'ckan-ogc', 'publisher_email': 'admin@localhost', 'publisher_url': 'http://localhost:5000/organization/test', 'publisher_identifier': 'http://localhost:5000/organization/test', 'publisher_uri': 'http://localhost:5000/organization/test', 'publisher_type': 'http://purl.org/adms/publishertype/NonProfitOrganisation', - 'reference_system': 'http://www.opengis.net/def/crs/EPSG/0/4258' + 'reference_system': 'http://www.opengis.net/def/crs/EPSG/0/4258', + 'representation_type': { + 'wfs': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/vector', + 'wcs': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/grid', + 'default': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/vector', + 'grid': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/grid', + 'vector': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/vector', + 'textTable': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/textTable', + 'tin': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/tin', + 'stereoModel': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/stereoModel', + 'video': 'http://inspire.ec.europa.eu/metadata-codelist/SpatialRepresentationType/video', + }, + 'spatial': None, + 'spatial_uri': 'http://datos.gob.es/recurso/sector-publico/territorio/Pais/España', + 'temporal_start': None, + 'temporal_end': None, + 'theme': 'http://inspire.ec.europa.eu/theme/hb', + 'theme_es': 'http://datos.gob.es/kos/sector-publico/sector/medio-ambiente', + 'theme_eu': 'http://publications.europa.eu/resource/authority/data-theme/ENVI', + 'topic': 'http://inspire.ec.europa.eu/metadata-codelist/TopicCategory/biota', + 'valid': None } OGC2CKAN_MD_FORMATS = { diff --git a/ogc2ckan/model/harvest_schema.py b/ogc2ckan/model/harvest_schema.py index 035c3b9..05c4086 100644 --- a/ogc2ckan/model/harvest_schema.py +++ b/ogc2ckan/model/harvest_schema.py @@ -2,15 +2,17 @@ # inbuilt libraries import logging import yaml +import os # third-party libraries from jsonschema import validate, ValidationError # custom functions from config.ogc2ckan_config import get_log_module +from mappings.default_ogc2ckan_config import OGC2CKAN_HARVESTER_CONFIG -log_module = get_log_module() +log_module = get_log_module(os.path.abspath(__file__)) # Harvester Schema class HarvesterSchema: @@ -26,7 +28,7 @@ class HarvesterSchema: "active": {"type": "boolean"}, "type": { "type": "string", - "enum": ["csw", "ogc", "table"] + "enum": [value['type'] for key, value in OGC2CKAN_HARVESTER_CONFIG.items()] }, "organization": {"type": "string"}, "custom_organization_active": {"type": "boolean"}, @@ -51,7 +53,7 @@ class HarvesterSchema: "spatial_uri": {"type": "string"}, "language": {"type": "string"}, }, - "required": ["publisher_name", "publisher_email", "publisher_identifier", "publisher_url", "publisher_type", "contact_name", "contact_email", "contact_uri", "contact_url", "topic", "theme_es", "theme_eu", "spatial", "spatial_uri", "language"] + "required": ["publisher_name", "publisher_email", "publisher_identifier", "publisher_url", "publisher_type", "contact_name", "contact_email", "contact_uri", "contact_url", "topic", "theme_eu", "spatial", "spatial_uri", "language"] }, "default_keywords": { "type": "array", @@ -117,6 +119,7 @@ def validate_config_file(file_name): schema_dict = { "csw": HarvesterSchemaCSW.schema, "ogc": HarvesterSchemaOGC.schema, + "xml": HarvesterSchema.schema, "table": HarvesterSchema.schema } From 7ad73f11dbf226c9e345162a6ec616aac1b0cbef Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:27:13 +0200 Subject: [PATCH 10/19] Fix config functions - Fix get_log_module() --- ogc2ckan/config/ckan_config.py | 3 ++- ogc2ckan/config/ogc2ckan_config.py | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ogc2ckan/config/ckan_config.py b/ogc2ckan/config/ckan_config.py index 9b045b5..549b200 100644 --- a/ogc2ckan/config/ckan_config.py +++ b/ogc2ckan/config/ckan_config.py @@ -3,6 +3,7 @@ import os import logging import requests +import os # third-party libraries import psycopg2 @@ -12,7 +13,7 @@ from config.ogc2ckan_config import get_log_module, load_yaml from mappings.default_ogc2ckan_config import OGC2CKAN_CKANINFO_CONFIG, OGC2CKAN_DBDSN_CONFIG, OGC2CKAN_HARVESTER_CONFIG -log_module = get_log_module() +log_module = get_log_module(os.path.abspath(__file__)) class CKANInfo: diff --git a/ogc2ckan/config/ogc2ckan_config.py b/ogc2ckan/config/ogc2ckan_config.py index 4ecd8d0..9ec524b 100644 --- a/ogc2ckan/config/ogc2ckan_config.py +++ b/ogc2ckan/config/ogc2ckan_config.py @@ -3,9 +3,13 @@ import yaml import logging -def get_log_module(): - # Get the directory and file name of the current file - dir_path, file_name_ext = os.path.split(os.path.abspath(__file__)) +def get_log_module(file_path=None): + if file_path: + # Get the directory and file name of the specified file + dir_path, file_name_ext = os.path.split(file_path) + else: + # Get the directory and file name of the current file + dir_path, file_name_ext = os.path.split(os.path.abspath(__file__)) # Split the file name and extension file_name, file_ext = os.path.splitext(file_name_ext) From 1b4baad042dbb87a865389b54891f04b9f19740e Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:28:11 +0200 Subject: [PATCH 11/19] Improve mapping functions - Upgrade get_mapping_value to returns the mapping value for a given field_input and field_output values. --- ogc2ckan/controller/mapping.py | 36 ++++++++++++++++------------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/ogc2ckan/controller/mapping.py b/ogc2ckan/controller/mapping.py index 22b53a4..ca6c89c 100644 --- a/ogc2ckan/controller/mapping.py +++ b/ogc2ckan/controller/mapping.py @@ -18,32 +18,30 @@ def __init__(self, value, codelist): f"Mapping value {self.value} not found in {self.codelist}.yaml" ) -# TODO: Retornar valor de un YAML, sabiendo valor y campo que se ha de retornar. def get_mapping_value( value: str, codelist: str, - field_map: str, - mappings_folder: str = default_mappings_folder): + field_output: str = 'label', + field_input: str = 'id', + mappings_folder: str = default_mappings_folder) -> str: """ - Returns the mapping value in YAML for a given codelist value. + Returns the mapping value in YAML for a given codelist value. This function loads a YAML file from the specified mappings folder and returns the value for the specified codelist value. If the value is not found in the YAML file, the category itself is returned. - - Parameters - ---------- - value: str. The source value that needs to be mapped to a codelist value. - codelist : str. The name of the YAML file (without the extension) in which the codelist is defined. - field_map: str. Name of the field to return. - mappings_folder: str (default="ckan2pycsw/mappings"). The folder path containing the YAML files for the mappings. - Return - ---------- - The value of the codelist value if found in the YAML file, else the value itself. + Args: + value: The source value that needs to be mapped to a codelist value. + codelist: The name of the YAML file (without the extension) in which the codelist is defined. + field_output: Name of the field to return. Defaults to 'label'. + field_input: Name of the field to search for. Defaults to 'id'. + mappings_folder: The folder path containing the YAML files for the mappings. Defaults to 'ckan2pycsw/mappings'. + + Returns: + The value of the codelist value if found in the YAML file, else the value itself. - Raises - ------ - MappingValueNotFoundError: ValueError. If the given value is not found in the mapping. + Raises: + MappingValueNotFoundError: If the given value is not found in the mapping. """ try: yaml_path = os.path.join(mappings_folder, codelist + ".yaml") @@ -55,8 +53,8 @@ def get_mapping_value( raise MappingValueNotFoundError(value, codelist) from None for mapping in map_yaml: - if isinstance(mapping, dict) and 'id' in mapping and mapping['id'] == value: - return mapping.get(field_map, value) + if isinstance(mapping, dict) and field_input in mapping and mapping[field_input] == value: + return mapping.get(field_output, value) return value From 2ed438e67ae34dbe069e0560b7729a5f21594a1f Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:31:19 +0200 Subject: [PATCH 12/19] Upgrade ckan_management controller - Improve make_request to return result as needed. - Improve create_ckan_datasets to check if datasets already exists in CKAN an avoid it. - Create get_ckan_dataset_list to retrieve the avalaible CKAN datasets in a server, also if are private datasets (with ckan api_key). - --- ogc2ckan/controller/ckan_management.py | 119 +++++++++++++++++-------- 1 file changed, 80 insertions(+), 39 deletions(-) diff --git a/ogc2ckan/controller/ckan_management.py b/ogc2ckan/controller/ckan_management.py index 712af2f..3d3985c 100644 --- a/ogc2ckan/controller/ckan_management.py +++ b/ogc2ckan/controller/ckan_management.py @@ -5,7 +5,7 @@ import ssl import socket import os -from typing import Any, Dict, Optional, Tuple +from typing import Any, Dict, Optional, Tuple, Union, List # third-party libraries import urllib.request @@ -16,22 +16,24 @@ from mappings.default_ogc2ckan_config import OGC2CKAN_CKAN_API_ROUTES SSL_UNVERIFIED_MODE = os.environ.get("SSL_UNVERIFIED_MODE", False) -log_module = get_log_module() +log_module = get_log_module(os.path.abspath(__file__)) # CKAN Requests -def make_request(url: str, ssl_unverified_mode: bool, data: bytes = None, authorization_key: Optional[str] = None) -> Dict[str, Any]: - """ - Sends an HTTPS request to the specified URL with the given data and SSL verification mode. +def make_request(url: str, ssl_unverified_mode: bool, data: bytes = None, authorization_key: Optional[str] = None, return_result: bool = False) -> Union[Dict[str, Any], Any]: + """ Sends an HTTPS request to the specified URL with the given data and SSL verification mode. + Args: url (str): The URL to send the request to. ssl_unverified_mode (bool): Whether to use SSL verification or not. data (bytes): The data to send with the request. authorization_key (str, optional): The authorization key to use for the request. Defaults to None. + return_result (bool): Whether to return the 'result' object from the CKAN response. Defaults to False. Returns: Dict[str, Any]: The response from the CKAN server as a dictionary. + Any: The 'result' object from the CKAN response if return_result is True. """ try: request = urllib.request.Request(url) @@ -71,7 +73,11 @@ def make_request(url: str, ssl_unverified_mode: bool, data: bytes = None, author package = response_dict['result'] #pprint(package) -# CKAN harvester functions. + if return_result == True: + return response_dict + else: + return None + def create_ckan_datasets(ckan_site_url: str, authorization_key: str, datasets: object, ssl_unverified_mode: bool = False, workspaces: Optional[str] = None) -> Tuple[int, int]: """ Create new datasets on a CKAN server. @@ -86,43 +92,31 @@ def create_ckan_datasets(ckan_site_url: str, authorization_key: str, datasets: o Returns: Tuple[int, int]: A tuple containing the number of Harvester server records and CKAN new records counters. """ - source_dataset_count = len(datasets) - ckan_dataset_count = source_dataset_count ckan_dataset_errors = [] + source_dataset_count = len(datasets) + + # Check if the datasets already exists in CKAN. + datasets, ckan_dataset_errors, ckan_dataset_count = check_ckan_datasets_exists(ckan_site_url, authorization_key, datasets, ssl_unverified_mode, ckan_dataset_errors) for dataset in datasets: - data = None try: - if workspaces is not None: - if any(x.lower() in dataset.ogc_workspace.lower() for x in workspaces) is True: - data = dataset.generate_data() - else: - ckan_dataset_count = ckan_dataset_count - 1 - else: - data = dataset.generate_data() - if data is not None: + if workspaces is not None and not any(x.lower() in dataset.ogc_workspace.lower() for x in workspaces): + continue + data = dataset.generate_data() + if data is None: create_ckan_dataset(ckan_site_url, ssl_unverified_mode, data, authorization_key) + ckan_dataset_count += 1 + except Exception as e: - print("\nckan_site_url: " + ckan_site_url) - print("ERROR", file=sys.stderr) - print(e, file=sys.stderr) - print("While trying to create: " + dataset.name + " | " + dataset.title, file=sys.stderr) - pprint(dataset.dataset_dict(), stream=sys.stderr) - print("\n", file=sys.stderr) - ckan_dataset_count = ckan_dataset_count - 1 - - # Info about the error. - error_dict = { - 'title': dataset.title, - 'error': str(e) - } + print(f"\nckan_site_url: {ckan_site_url}\nERROR: {e}\nWhile trying to create: {dataset.name} | {dataset.title}\n{pprint.pformat(dataset.dataset_dict())}\n", file=sys.stderr) + error_dict = {'title': dataset.title, 'error': str(e)} if hasattr(dataset, 'inspire_id') and dataset.inspire_id: error_dict['inspire_id'] = dataset.inspire_id ckan_dataset_errors.append(error_dict) - + return ckan_dataset_count, source_dataset_count, ckan_dataset_errors -def ingest_ckan_datasets(ckan_site_url, authorization_key, datasets, inspireid_theme, theme_es, inspireid_nutscode, ssl_unverified_mode = False, workspace = None): +def ingest_ckan_datasets(ckan_site_url, authorization_key, datasets, ssl_unverified_mode = False, workspace = None): #TODO: Fix function. """ ''' @@ -131,9 +125,6 @@ def ingest_ckan_datasets(ckan_site_url, authorization_key, datasets, inspireid_t :param ckan_site_url: CKAN Server url :param authorization_key: API Key (http://localhost:5000/user/admin) :param datasets: Datasets object - :param inspireid_theme: INSPIRE Theme code - :param theme_es: NTI-RISP sector - :param inspireid_nutscode: NUTS0 Code :param ssl_unverified_mode: [INSECURE] Put SSL_UNVERIFIED_MODE=True if the host certificate is self-signed or invalid. :param workspace: Only those identifiers starting with identifier_fiter (e.g. 'open_data:...') are created. @@ -301,7 +292,7 @@ def create_ckan_resource_dictionary(ckan_site_url: str, ssl_unverified_mode: boo url = ckan_site_url + OGC2CKAN_CKAN_API_ROUTES['create_ckan_resource_dictionary'] make_request(url, ssl_unverified_mode, data, authorization_key) -def get_ckan_datasets_list(ckan_site_url: str, ssl_unverified_mode: bool, authorization_key: Optional[str] = None, fields: str = 'id,title,extras_inspire_id,extras_alternate_identifier', rows: int = 100) -> None: +def get_ckan_datasets_list(ckan_site_url: str, ssl_unverified_mode: bool, authorization_key: Optional[str] = None, fields: str = 'id,title,extras_inspire_id,extras_alternate_identifier', rows: int = 100, include_private: bool = True) -> List[Dict[str, Any]]: """ Get a list of datasets from CKAN. @@ -311,13 +302,27 @@ def get_ckan_datasets_list(ckan_site_url: str, ssl_unverified_mode: bool, author authorization_key (str, optional): The API authorization key. Defaults to None. fields (str, optional): The fields to be returned in the dataset list. Defaults to 'id,title,extra_inspire_id'. rows (int, optional): The number of rows to be returned in the dataset list. Defaults to 100. + include_private (bool, optional): Whether to include private datasets in the dataset list. Defaults to True. Returns: - None + List[Dict[str, Any]]: A list of dictionaries representing the datasets. """ # We'll use the package_search function to list all datasets with fields as need. - url = ckan_site_url + OGC2CKAN_CKAN_API_ROUTES['get_ckan_datasets_list'].format(fields=fields, rows=rows) - make_request(url, ssl_unverified_mode, authorization_key) + url = ckan_site_url + OGC2CKAN_CKAN_API_ROUTES['get_ckan_datasets_list'].format(fields=fields, rows=rows, include_private=include_private) + response = make_request(url=url, ssl_unverified_mode=ssl_unverified_mode, authorization_key=authorization_key, return_result=True) + results = response['result']['results'] + count = response['result']['count'] + # if response['result']['count'] > rows then we need to paginate the results. + if count > rows: + # Calculate the number of pages we need to paginate through. + pages = count // rows + 1 + # Paginate through the results. + for page in range(2, pages + 1): + url = ckan_site_url + OGC2CKAN_CKAN_API_ROUTES['get_ckan_datasets_list_paginate'].format(fields=fields, rows=rows, include_private=include_private, start=rows * (page - 1)) + response = make_request(url=url, ssl_unverified_mode=ssl_unverified_mode, authorization_key=authorization_key, return_result=True) + results += response['result']['results'] + + return results def get_ckan_dataset_info(ckan_site_url: str, ssl_unverified_mode: bool, authorization_key: Optional[str] = None, field: str = 'id', field_value: Optional[str] = None) -> None: """ @@ -336,3 +341,39 @@ def get_ckan_dataset_info(ckan_site_url: str, ssl_unverified_mode: bool, authori # We'll use the package_search function to list all datasets with fields as need. url = ckan_site_url + OGC2CKAN_CKAN_API_ROUTES['get_ckan_dataset_info'].format(field=field, field_value=field_value) make_request(url, ssl_unverified_mode, authorization_key) + +def check_ckan_datasets_exists(ckan_site_url: str, authorization_key: str, datasets: object, ssl_unverified_mode: bool = False, ckan_dataset_errors: list = []): + """Check if datasets already exist in CKAN. + + Args: + ckan_site_url (str): The URL of the CKAN site. + authorization_key (str): The authorization key for the CKAN site. + datasets (object): The datasets to check. + ssl_unverified_mode (bool, optional): Whether to use SSL unverified mode. Defaults to False. + ckan_dataset_errors (list, optional): A list to store any errors that occur. Defaults to []. + + Returns: + tuple: A tuple containing the datasets that need to be loaded, a list of errors, and the number of datasets to load. + """ + ckan_dataset_list = get_ckan_datasets_list(ckan_site_url, ssl_unverified_mode, authorization_key) + ckan_datasets_to_load = [] + + # Create a dict indexed by 'id' and 'inspire_id' for efficient searching + ckan_dataset_dict = {dataset.get('id'): dataset for dataset in ckan_dataset_list} + ckan_dataset_dict.update({dataset.get('inspire_id'): dataset for dataset in ckan_dataset_list if dataset.get('inspire_id')}) + + for dataset in datasets: + dataset_id = dataset.ckan_id + dataset_title = dataset.title + inspire_id = dataset.inspire_id + + # Check if the dataset already exists in CKAN. Use the indexed dictionary. + if dataset_id in ckan_dataset_dict or (inspire_id and inspire_id in ckan_dataset_dict): + matching_field = 'id' if dataset_id in ckan_dataset_dict else 'inspire_id' + error_message = f"Dataset exists in CKAN with the same '{matching_field}': {dataset_id if matching_field == 'id' else inspire_id}" + error_dict = {'title': dataset_title, 'id': dataset_id, 'inspire_id': inspire_id, 'error': error_message} + ckan_dataset_errors.append(error_dict) + else: + ckan_datasets_to_load.append(dataset) + + return ckan_datasets_to_load, ckan_dataset_errors, len(ckan_datasets_to_load) From 12a33c6015fe0220a3d1c5940eb0b3cc5b0e4d13 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:33:10 +0200 Subject: [PATCH 13/19] Improve base harvester - Include ows functions common to all harvesters using owslib (csw, xml). - Add auxiliary functions such as get_default_dcat_info_attribute to avoid repetition. --- ogc2ckan/harvesters/base.py | 284 ++++++++++++++++++++++++++++++++---- 1 file changed, 255 insertions(+), 29 deletions(-) diff --git a/ogc2ckan/harvesters/base.py b/ogc2ckan/harvesters/base.py index 04ec790..1bc11a2 100644 --- a/ogc2ckan/harvesters/base.py +++ b/ogc2ckan/harvesters/base.py @@ -7,24 +7,27 @@ import logging from datetime import datetime import html +import os # third-party libraries from geojson import Polygon, dumps from pyproj import Transformer import pandas as pd -import re from bs4 import BeautifulSoup +from owslib.iso import MD_Keywords +from owslib.namespaces import Namespaces +from owslib import util # custom classes from controller import ckan_management from model.custom_organization import CustomOrganization from controller.mapping import get_mapping_value from config.ogc2ckan_config import load_yaml, get_log_module -from mappings.default_ogc2ckan_config import OGC2CKAN_PATHS_CONFIG, OGC2CKAN_HARVESTER_MD_CONFIG, OGC2CKAN_CKANINFO_CONFIG, OGC2CKAN_MD_FORMATS +from mappings.default_ogc2ckan_config import OGC2CKAN_PATHS_CONFIG, OGC2CKAN_HARVESTER_MD_CONFIG, OGC2CKAN_CKANINFO_CONFIG, OGC2CKAN_MD_FORMATS, OGC2CKAN_ISO_MD_ELEMENTS from harvesters.harvesters import get_harvester_class -log_module = get_log_module() +log_module = get_log_module(os.path.abspath(__file__)) class DCATInfo: '''Represents the information of a dataset in DCAT format. @@ -107,8 +110,9 @@ def __init__(self, app_dir, url, name, groups, active, organization, type, custo default_localized_strings_file = f"{self.app_dir}/{OGC2CKAN_PATHS_CONFIG['default_mappings_folder']}/{OGC2CKAN_PATHS_CONFIG['default_localized_strings_file']}" # Localized default info yaml_dict = load_yaml(default_localized_strings_file) - language = self.default_dcat_info.language + language = self.get_default_dcat_info_attribute("language") self.localized_strings_dict = self._get_localized_dict(yaml_dict, language) + self.ows_namespaces = self._ows_get_namespaces() @classmethod def from_harvest_server(cls, harvest_server, app_dir): @@ -151,16 +155,6 @@ def create_datasets(self, ckan_info): # Get all datasets self.get_datasets(ckan_info) - #TODO: Check if the dataset exists in CKAN use: ckan_management.get_ckan_datasets_list - # if hasattr(self, 'constraints') and self.constraints: - # emails = set(email.lower().replace(' ','') for email in (self.constraints.get('mails') or []) if email) - # else: - # emails = [] - - # if len(emails) > 0: - # datasets_title = [x.title for x in self.datasets if x.contact_email.lower().replace(' ','') in emails] - # logging.info(f"{self.name} ({self.type.upper()}) server records found: {', '.join(datasets_title)}") - if hasattr(self, 'workspaces') and self.workspaces: logging.info(f"{log_module}:{self.name} ({self.type.upper()}) server OGC workspaces selected: {', '.join([w.upper() for w in self.workspaces])}") @@ -225,17 +219,24 @@ def get_custom_default_metadata(self, dataset_id: str, dict_property: str = 'dat Returns: Any: The value of the specified property in the mapping dictionary, or None if the property is not found. """ - mapping = self.custom_organization_info.find_mapping_value(dataset_id, dict_property) + try: + mapping = self.custom_organization_info.find_mapping_value(dataset_id, dict_property) + except KeyError: + mapping = None if mapping is None: mapping = self.custom_organization_info.find_similar_mapping_value(dataset_id, dict_property) if mapping is None: # If 'dataset_id' property is not found, try 'dataset_group_id' - mapping = self.custom_organization_info.find_mapping_value( - dataset_id, - 'dataset_group_id' - ) + try: + mapping = self.custom_organization_info.find_mapping_value( + dataset_id, + 'dataset_group_id' + ) + except KeyError: + logging.error(f"{log_module}:Dataset: '{dataset_id}' does not have info in 'custom_organization_mapping_file'. Add it or deactivate `custom_organization_active`") + mapping = None return mapping @@ -267,6 +268,225 @@ def get_custom_metadata_value(self, custom_metadata, key, default=None): else: return default + def get_default_dcat_info_attribute(self, field_name): + """ + Tries to retrieve the value of a field_name from self.default_dcat_info. If the field does not exist, returns the default value from OGC2CKAN_HARVESTER_MD_CONFIG. + + Args: + field_name (str): The name of the field to retrieve. + + Returns: + The value of the specified field from self.default_dcat_info, or the default value from OGC2CKAN_HARVESTER_MD_CONFIG if the field does not exist. + """ + try: + return getattr(self.default_dcat_info, field_name, OGC2CKAN_HARVESTER_MD_CONFIG[field_name]) + + except AttributeError: + logging.error(f"{log_module}:Field '{field_name}' does not exist in 'default_dcat_info' section at 'config.yaml'") + return None + + except KeyError as e: + logging.error(f"{log_module}:Field '{field_name}' does not exist in 'OGC2CKAN_HARVESTER_MD_CONFIG' at: 'ckan-ogc/ogc2ckan/mappings/default_ogc2ckan_config.py': {e}") + return None + + # OWS functions + def ows_update_metadata_sections(self, layer_info): + def get_first_element_from_list(lst): + return lst[0] if isinstance(lst, list) and lst else None + + layer_info.identification = get_first_element_from_list(layer_info.identification) if layer_info.identification else None + layer_info.distributor = get_first_element_from_list(layer_info.distribution.distributor) if layer_info.distribution and layer_info.distribution.distributor else None + layer_info.distribution = layer_info.distribution.online if hasattr(layer_info.distribution, 'online') else None + layer_info.contact = get_first_element_from_list(layer_info.contact) if layer_info.contact else None + layer_info.identification.publisher = get_first_element_from_list(layer_info.identification.publisher) if layer_info.identification and layer_info.identification.publisher else None + layer_info.topiccategory = get_first_element_from_list(layer_info.identification.topiccategory) if layer_info.identification and layer_info.identification.topiccategory else None + layer_info.uricode = get_first_element_from_list(layer_info.identification.uricode) if layer_info.identification and layer_info.identification.uricode else None + + try: + if not layer_info.identification: + raise AttributeError("identification") + if not layer_info.distribution: + raise AttributeError("distribution") + if not layer_info.contact: + raise AttributeError("contact") + if not layer_info.topiccategory: + raise AttributeError("topiccategory") + if not layer_info.uricode: + raise AttributeError("uricode") + + except AttributeError as e: + logging.error(f"{log_module}:An error occurred in ows_update_metadata_sections: {e}") + setattr(layer_info, e.args[0], None) + + def ows_get_metadata_not_owslib(self, layer_info): + """Gets metadata values that are not retrieved by OWSLib from an MD_Metadata object. + + Args: + layer_info (object): Object containing metadata information. + + Returns: + dict: Dictionary containing metadata values. + """ + return { + "lineage_source": self._ows_findall_metadata_elements(layer_info, self.ows_namespaces, OGC2CKAN_ISO_MD_ELEMENTS['lineage_source']) + } + + def ows_get_keywords(self, dataset, keywords): + """ + Gets the keywords from a OWS MD_Metadata record. + + Args: + dataset: The CKAN Dataset to ingest. + keywords: The OWS MD_Metadata Record object list of keywords to get. + + Returns: + list: The keywords. + """ + keywords_list = dataset.keywords + keywords_thesaurus_list = dataset.keywords_thesaurus + themes_set = set(dataset.theme) + keywords_uri_set = set(dataset.keywords_uri) + topic = dataset.topic + + for keyword in keywords: + for k in keyword.keywords: + url = getattr(k, "url", None) + if url: + last_part = url.split("/")[-1] + keywords_list.append({'name': last_part.lower()}) + keywords_uri_set.add(url) + if '/theme/' in url: + # INSPIRE Theme + themes_set.add(url) + + if keyword.thesaurus: + url = keyword.thesaurus.get('url') + title = keyword.thesaurus.get('title') + date = keyword.thesaurus.get('date') + datetype = keyword.thesaurus.get('datetype') + if url: + keywords_thesaurus_list.append({'title': title, 'date': date, 'datetype': datetype, 'url': url}) + + if topic: + themes_set.add(get_mapping_value(topic, 'theme', 'id', 'topic_category')) + + # Unique values + keywords_list = [dict(t) for t in {tuple(d.items()) for d in keywords_list}] + + # Set themes/keywords/keywords_uri + self._set_themes(dataset, list(themes_set)) + dataset.set_keywords(keywords_list) + self._set_keywords_uri(dataset, list(keywords_uri_set)) + + def ows_set_metadata_dates(self, dataset, record_id): + """ + Sets the metadata dates for a CKAN dataset from an ISO metadata record. + + Args: + dataset: The CKAN dataset to set the metadata dates for. + record_id: The ISO metadata record to get the metadata dates from. + """ + # Default values + issued_date = datetime.now().strftime('%Y-%m-%d') + created_date = '1900-01-01' + modified_date = issued_date + + for date in record_id.date: + if date.type == "creation": + created_date = self._normalize_date(date.date) + elif date.type == "publication": + issued_date = self._normalize_date(date.date) + elif date.type == "revision": + modified_date = self._normalize_date(date.date) + + dataset.set_issued(issued_date) + dataset.set_created(created_date) + dataset.set_modified(modified_date) + + return issued_date, modified_date + + @staticmethod + def _ows_get_namespaces(): + n = Namespaces() + ns = n.get_namespaces(["gco", "gfc", "gmd", "gmi", "gml", "gml32", "gmx", "gts", "srv", "xlink"]) + ns[None] = n.get_namespace("gmd") + + return ns + + @staticmethod + def _ows_findall_metadata_elements(layer_info, namespaces, tag): + """ + Finds all elements in an ISO metadata record (md). + + Args: + layer_info: The MD_Metadata object that contains ISO metadata record to search in. + namespaces: The namespaces to use for the search. + tag: The tag of the element to search for. + + Returns: + The elements if founds, otherwise None. + """ + results = [] + val = layer_info.md.findall(util.nspath_eval(tag, namespaces)) + + for i in val: + if hasattr(i, 'text'): + i = util.testXMLValue(i) + results.append(i) + + return results + + @staticmethod + def _ows_find_metadata_element(layer_info, namespaces, tag): + """ + Finds element in an ISO metadata record (md). + + Args: + layer_info: The MD_Metadata object that contains ISO metadata record to search in. + namespaces: The namespaces to use for the search. + tag: The tag of the element to search for. + + Returns: + The element if found, otherwise None. + """ + val = layer_info.md.find(util.nspath_eval(tag, namespaces)) + if hasattr(val, 'text'): + val = util.testXMLValue(val.text) + return val + + @staticmethod + def _ows_convert_keyword(keywords, iso2dict=False, theme="theme"): + """ + Convert keywords to a standardized format. + + Args: + keywords (list): The list of keywords to convert. + iso2dict (bool, optional): Whether to convert ISO keywords to a dictionary format. Default is False. + theme (str, optional): The theme/category for the keywords. Default is "theme". + + Returns: + list or dict: The converted keywords in a standardized format. If `iso2dict` is True, returns a list of dictionaries. + Otherwise, returns a list of lists. + """ + def convert_iso_keywords(keywords): + _keywords = [] + for kw in keywords: + if isinstance(kw, MD_Keywords): + _keywords.append([_kw.name for _kw in kw.keywords]) + else: + _keywords.append(kw) + return _keywords + + if not iso2dict and keywords: + return [ + { + "keywords": convert_iso_keywords(keywords), + "thesaurus": {"date": None, "datetype": None, "title": None}, + "type": theme, + } + ] + return convert_iso_keywords(keywords) + @staticmethod def _create_harvester_from_server(harvest_server, harvester_class): harvester = harvester_class( @@ -621,11 +841,11 @@ def set_default_responsible_parties(self, dataset, default_dcat_info, ckan_info, for metadata_field, dcat_attribute in metadata_fields.items(): value = source_dataset.get(metadata_field) or getattr(default_dcat_info, dcat_attribute, None) if metadata_field == "contact_uri" and not value: - value = self._get_dir3_uri(ckan_info.dir3_soup, getattr(default_dcat_info, "contact_uri", None), source_dataset.get("contact_name")) + value = self._get_dir3_uri(ckan_info.dir3_soup, self.get_default_dcat_info_attribute("contact_uri"), source_dataset.get("contact_name")) elif metadata_field == "publisher_identifier" and not value: - value = self._get_dir3_uri(ckan_info.dir3_soup, getattr(default_dcat_info, "contact_uri", None), source_dataset.get("publisher_name")) + value = self._get_dir3_uri(ckan_info.dir3_soup, self.get_default_dcat_info_attribute("contact_uri"), source_dataset.get("publisher_name")) elif metadata_field == "maintainer_uri" and not value: - value = self._get_dir3_uri(ckan_info.dir3_soup, getattr(default_dcat_info, "contact_uri", None), source_dataset.get("maintainer_name")) + value = self._get_dir3_uri(ckan_info.dir3_soup, self.get_default_dcat_info_attribute("contact_uri"), source_dataset.get("maintainer_name")) elif metadata_field == "publisher_type" and value: value = value.replace('https:', 'http:') getattr(dataset, f"set_{metadata_field}")(value) @@ -690,12 +910,13 @@ def set_bounding_box_from_bounding_box(self, dataset, bounding_box): self._set_min_max_coordinates(dataset, minx, maxx, miny, maxy) - def set_keywords_themes_topic(self, dataset, custom_metadata): + def set_default_keywords_themes_topic(self, dataset, custom_metadata, ckan_schema = 'geodcatap'): """Sets the keywords for a dataset. INSPIRE keywords/themes, default/custom keywords, ISO 19115 Topic category and Spanish NTI-RISP Theme. Args: dataset: The dataset to set the keywords for. custom_metadata: A dictionary containing custom metadata for the dataset. + ckan_schema: The CKAN schema (ckanext-scheming) dataset type. Returns: None. @@ -729,7 +950,7 @@ def set_keywords_themes_topic(self, dataset, custom_metadata): keywords_uri.add(k['uri']) # Set keywords (INSPIRE quality) and INSPIRE Themes - inspireid_theme = self.default_inspire_info['inspireid_theme'].lower() + inspireid_theme = self.get_default_dcat_info_attribute("inspireid_theme").lower() theme_inspire = "http://inspire.ec.europa.eu/theme/" + inspireid_theme # Insert inspireid_theme (default) as theme/keyword @@ -739,14 +960,19 @@ def set_keywords_themes_topic(self, dataset, custom_metadata): # Set ISO 19115 Topic Category ## Insert topic (default) as topic - default_topic = self.default_dcat_info.topic + default_topic = self.get_default_dcat_info_attribute("topic") dataset.set_topic(default_topic) - # Insert theme_es (default) as theme - themes_es.append(self.default_dcat_info.theme_es) - themes_eu.append(self.default_dcat_info.theme_eu) + # Insert theme_eu (default) + theme_eu = self.get_default_dcat_info_attribute("theme_eu") + themes_eu.append(theme_eu) + + # Insert theme_es if ckan_schema == 'geodcatap_es' + if ckan_schema == 'geodcatap_es': + theme_es = self.get_default_dcat_info_attribute("theme_es") + themes_es.append(theme_es) + self._set_themes_es(dataset, list(set(themes_es))) - self._set_themes_es(dataset, list(set(themes_es))) self._set_themes_eu(dataset, list(set(themes_eu))) self._set_themes(dataset, list(set(themes))) dataset.set_keywords(keywords) From 1f8d8b82b89cfac6f7b6c1ec9067aae2e633a2a2 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:34:00 +0200 Subject: [PATCH 14/19] Improve csw harvester - Remove ows common functions, and move to base. - Minor fixes. --- ogc2ckan/harvesters/csw.py | 205 ++++++------------------------------- 1 file changed, 34 insertions(+), 171 deletions(-) diff --git a/ogc2ckan/harvesters/csw.py b/ogc2ckan/harvesters/csw.py index aa9046c..3b4f71f 100644 --- a/ogc2ckan/harvesters/csw.py +++ b/ogc2ckan/harvesters/csw.py @@ -2,14 +2,12 @@ from datetime import datetime import logging import uuid +import os # third-party libraries from owslib.csw import CatalogueServiceWeb -from owslib.fes import PropertyIsEqualTo, PropertyIsLike, SortBy, SortProperty -from owslib.iso import MD_Metadata, MD_Keywords +from owslib.fes import PropertyIsLike, SortBy, SortProperty from owslib.namespaces import Namespaces -from owslib import util -from owslib.etree import etree # custom classes from harvesters.base import Harvester @@ -19,8 +17,9 @@ # custom functions from config.ogc2ckan_config import get_log_module from mappings.default_ogc2ckan_config import OGC2CKAN_HARVESTER_MD_CONFIG, OGC2CKAN_ISO_MD_ELEMENTS +from controller.mapping import get_mapping_value -log_module = get_log_module() +log_module = get_log_module(os.path.abspath(__file__)) # Custom exceptions. @@ -35,16 +34,6 @@ def __init__(self, **entries): else: setattr(self, key, value) -# default variables -def get_namespaces(): - n = Namespaces() - ns = n.get_namespaces(["gco", "gfc", "gmd", "gmi", "gml", "gml32", "gmx", "gts", "srv", "xlink"]) - ns[None] = n.get_namespace("gmd") - return ns - - -namespaces = get_namespaces() - class HarvesterCSW(Harvester): def __init__(self, app_dir, url, name, groups, active, organization, type, custom_organization_active, custom_organization_mapping_file, private_datasets, default_keywords, default_inspire_info, constraints, **default_dcat_info): super().__init__(app_dir, url, name, groups, active, organization, type, custom_organization_active, custom_organization_mapping_file, private_datasets, default_keywords, default_inspire_info, **default_dcat_info) @@ -61,7 +50,7 @@ def set_constraint_keywords(self, constraints): return [PropertyIsLike("csw:anyText", keyword) for keyword in constraints["keywords"]] def set_constraint_mails(self, constraints): - return [mail.lower().replace(' ','') for mail in self.constraints["mails"]] + return [mail.lower().replace(' ','') for mail in constraints["mails"]] def get_csw_url_value(self): return self.csw_url @@ -172,7 +161,8 @@ def get_csw_records(self, typenames="csw:Record", limit=None, kwa["startposition"] = startposition # Filter in x.contact[0].email for existing elements in constraints.mails - csw.records = {k: v for k, v in csw.records.items() if v.contact[0].email.lower().replace(' ','') in self.constraint_mails} + if self.constraint_mails: + csw.records = {k: v for k, v in csw.records.items() if v.contact[0].email.lower().replace(' ','') in self.constraint_mails} logging.info(f"{log_module}:CSW records matches with constraints: {len(csw.records)}") return csw @@ -183,7 +173,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): Args: ckan_info (CKANInfo): CKANInfo object containing the CKAN URL and API key. - record (str): Name of the dataset to retrieve. + record (str): identifier of the dataset to retrieve. service_type (str): Type of OGC service ('csw' for Catalog endpoints). Returns: @@ -196,8 +186,8 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): # Get CSW record info if service_type == 'csw': layer_info = self.csw.records[record] - self.update_metadata_sections(layer_info) - layer_info.md_not_owslib = self.get_metadata_not_owslib(layer_info) + self.ows_update_metadata_sections(layer_info) + layer_info.md_not_owslib = self.ows_get_metadata_not_owslib(layer_info) # Search if custom organization info exists for the dataset custom_metadata = None @@ -207,6 +197,10 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): # Set basic info of MD dataset = dataset(uuid_identifier, ckan_name, self.organization, ckan_info.default_license_id) + # Set inspireId (identifier) + inspire_id = layer_info.uricode + dataset.set_inspire_id(inspire_id) + # Set private dataset private = getattr(self, 'private_datasets', False) dataset.set_private(private) @@ -214,7 +208,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): # Set alternate identifier (layer name) alternate_identifier = layer_info.identifier if layer_info.identifier else None dataset.set_alternate_identifier(alternate_identifier) - + # Title title = custom_metadata.get('title') if custom_metadata else layer_info.identification.title dataset_title = title or self.localized_strings_dict['title'] if title is not None else f"{self.localized_strings_dict['title']} {inspire_id}" @@ -227,11 +221,8 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): # CKAN Groups defined in config.yaml dataset.set_groups(ckan_groups) - # Set inspireId (identifier) - dataset.set_inspire_id(inspire_id) - # Creation/Publication/Revision dates - issued_date, modified_date = self.set_metadata_dates( + issued_date, modified_date = self.ows_set_metadata_dates( dataset, layer_info.identification ) @@ -244,23 +235,21 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): else dcat_type['dataset']) # Set SpatialRepresentationType - spatial_representation_type = ( + representation_type = ( layer_info.identification.spatialrepresentationtype[0] if layer_info.identification.spatialrepresentationtype else 'default' ) dataset.set_representation_type( - OGC2CKAN_HARVESTER_MD_CONFIG['spatial_representation_type'].get( - spatial_representation_type) + OGC2CKAN_HARVESTER_MD_CONFIG['representation_type'].get( + representation_type) ) # Set valid date if hasattr(layer_info, 'valid'): valid_date = layer_info.valid - elif hasattr(self.default_dcat_info, 'valid'): - valid_date = self.default_dcat_info.valid else: - valid_date = None + valid_date = self.get_default_dcat_info_attribute("valid") if valid_date and valid_date is not None: dataset.set_valid(self._normalize_date(valid_date)) @@ -283,7 +272,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): if bb is not None: self.set_bounding_box_from_iso(dataset, bb) else: - dataset.set_spatial(getattr(self.default_dcat_info, 'spatial', None)) + dataset.set_spatial(self.get_default_dcat_info_attribute("spatial")) # Set spatial URI dataset.set_spatial_uri(self.get_custom_metadata_value(custom_metadata, 'spatial_uri')) @@ -350,7 +339,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): self._set_conformance(dataset, epsg_text=epsg_text) # Set Metadata profile - metadata_profile = getattr(self.default_dcat_info, 'metadata_profile', OGC2CKAN_HARVESTER_MD_CONFIG['metadata_profile']) + metadata_profile = self.get_default_dcat_info_attribute("metadata_profile") dataset.set_metadata_profile(metadata_profile) # Set Responsible Parties (Point of contact, Resource publisher, Resource creator/author and Resource contact/maintainer) @@ -386,11 +375,19 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): # Metadata distributions (INSPIRE & GeoDCAT-AP) self.set_metadata_distributions(ckan_info, dataset, distribution, record) - # Set keywords/themes/topic categories - self.set_keywords_themes_topic(dataset, custom_metadata) - - #TODO: Set keywords from CSW + # Set default keywords/themes/topic categories + self.set_default_keywords_themes_topic(dataset, custom_metadata, ckan_info.ckan_dataset_schema) + + # Set topic category ISO19115 + topiccategory = getattr(layer_info, "topiccategory", None) + if topiccategory: + dataset.keywords.append({'name': topiccategory}) + topiccategory = "/".join(["http://inspire.ec.europa.eu/metadata-codelist/TopicCategory", topiccategory]) + dataset.keywords_uri.append(topiccategory) + # Set keywords from CSW + self.ows_get_keywords(dataset, layer_info.identification.keywords) + return dataset def get_distribution(self, ckan_info: CKANInfo, dataset, distribution, record: str, service_type: str, layer_info): @@ -449,137 +446,3 @@ def get_distribution(self, ckan_info: CKANInfo, dataset, distribution, record: s except Exception as e: logging.error(f"{log_module}:Error adding distribution '{dist_name}' to dataset '{dataset.title}': {e}") - - def update_metadata_sections(self, layer_info): - def get_first_element_from_list(lst): - return lst[0] if isinstance(lst, list) and lst else None - - layer_info.identification = get_first_element_from_list(layer_info.identification) if layer_info.identification else None - layer_info.distributor = get_first_element_from_list(layer_info.distribution.distributor) if layer_info.distribution and layer_info.distribution.distributor else None - layer_info.distribution = layer_info.distribution.online if hasattr(layer_info.distribution, 'online') else None - layer_info.contact = get_first_element_from_list(layer_info.contact) if layer_info.contact else None - layer_info.identification.publisher = get_first_element_from_list(layer_info.identification.publisher) if layer_info.identification and layer_info.identification.publisher else None - - try: - if not layer_info.identification: - raise AttributeError("identification") - if not layer_info.distribution: - raise AttributeError("distribution") - if not layer_info.contact: - raise AttributeError("contact") - - except AttributeError as e: - logging.error(f"{log_module}:An error occurred in update_metadata_sections: {e}") - setattr(layer_info, e.args[0], None) - - def get_metadata_not_owslib(self, layer_info): - """Gets metadata values that are not retrieved by OWSLib from an MD_Metadata object. - - Args: - layer_info (object): Object containing metadata information. - - Returns: - dict: Dictionary containing metadata values. - """ - return { - "lineage_source": self._findall_metadata_elements(layer_info, OGC2CKAN_ISO_MD_ELEMENTS['lineage_source']) - } - - def set_metadata_dates(self, dataset, record_id): - """ - Sets the metadata dates for a CKAN dataset from an ISO metadata record. - - Args: - dataset: The CKAN dataset to set the metadata dates for. - record_id: The ISO metadata record to get the metadata dates from. - """ - # Default values - issued_date = datetime.now().strftime('%Y-%m-%d') - created_date = '1900-01-01' - modified_date = issued_date - - for date in record_id.date: - if date.type == "creation": - created_date = self._normalize_date(date.date) - elif date.type == "publication": - issued_date = self._normalize_date(date.date) - elif date.type == "revision": - modified_date = self._normalize_date(date.date) - - dataset.set_issued(issued_date) - dataset.set_created(created_date) - dataset.set_modified(modified_date) - - return issued_date, modified_date - - @staticmethod - def _findall_metadata_elements(layer_info, tag): - """ - Finds all elements in an ISO metadata record (md). - - Args: - layer_info: The MD_Metadata object that contains ISO metadata record to search in. - tag: The tag of the element to search for. - - Returns: - The elements if founds, otherwise None. - """ - results = [] - val = layer_info.md.findall(util.nspath_eval(tag, namespaces)) - - for i in val: - if hasattr(i, 'text'): - i = util.testXMLValue(i) - results.append(i) - - return results - - @staticmethod - def _find_metadata_element(layer_info, tag): - """ - Finds element in an ISO metadata record (md). - - Args: - layer_info: The MD_Metadata object that contains ISO metadata record to search in. - tag: The tag of the element to search for. - - Returns: - The element if found, otherwise None. - """ - val = layer_info.md.find(util.nspath_eval(tag, namespaces)) - if hasattr(val, 'text'): - val = util.testXMLValue(val.text) - return val - - @staticmethod - def _convert_keyword(keywords, iso2dict=False, theme="theme"): - """ - Convert keywords to a standardized format. - - Args: - keywords (list): The list of keywords to convert. - iso2dict (bool, optional): Whether to convert ISO keywords to a dictionary format. Default is False. - theme (str, optional): The theme/category for the keywords. Default is "theme". - - Returns: - list or dict: The converted keywords in a standardized format. If `iso2dict` is True, returns a list of dictionaries. - Otherwise, returns a list of lists. - """ - def convert_iso_keywords(keywords): - _keywords = [] - for kw in keywords: - if isinstance(kw, MD_Keywords): - _keywords.append([_kw.name for _kw in kw.keywords]) - else: - _keywords.append(kw) - return _keywords - - if not iso2dict and keywords: - return [ - { - "keywords": convert_iso_keywords(keywords), - "thesaurus": {"date": None, "datetype": None, "title": None}, - "type": theme, - } - ] - return convert_iso_keywords(keywords) From 351868fb69aebce573295fdc49b20d39233d65c6 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:35:04 +0200 Subject: [PATCH 15/19] Improve ogc harvester - Minor fixes to avoid repetition. - Fix distributions creation. --- ogc2ckan/harvesters/ogc.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/ogc2ckan/harvesters/ogc.py b/ogc2ckan/harvesters/ogc.py index 5aa188b..9b22721 100644 --- a/ogc2ckan/harvesters/ogc.py +++ b/ogc2ckan/harvesters/ogc.py @@ -1,5 +1,6 @@ # inbuilt libraries from datetime import datetime +from urllib.parse import urlencode # third-party libraries from owslib.wms import WebMapService @@ -173,15 +174,13 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): dataset.set_resource_type(dcat_type['series'] if is_series else dcat_type['dataset']) # Set SpatialRepresentationType - dataset.set_representation_type(OGC2CKAN_HARVESTER_MD_CONFIG['spatial_representation_type'].get(service_type)) + dataset.set_representation_type(OGC2CKAN_HARVESTER_MD_CONFIG['representation_type'].get(service_type)) # Set valid date if hasattr(wms_layer_info, 'valid'): valid_date = wms_layer_info.valid - elif hasattr(self.default_dcat_info, 'valid'): - valid_date = self.default_dcat_info.valid else: - valid_date = None + valid_date = self.get_default_dcat_info_attribute("valid") if valid_date and valid_date is not None: dataset.set_valid(self._normalize_date(valid_date)) @@ -195,7 +194,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): dataset.set_spatial_resolution_in_meters(denominators[0]) # Set language - language = getattr(self.default_dcat_info, 'language', OGC2CKAN_HARVESTER_MD_CONFIG['language']).replace('https:', 'http:') + language = self.get_default_dcat_info_attribute("language").replace('https:', 'http:') dataset.set_language(language) # Set spatial coverage @@ -203,7 +202,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): self.set_bounding_box(dataset, bb) if bb is not None else None # Set spatial URI - spatial_uri = custom_metadata.get('spatial_uri') if custom_metadata else getattr(self.default_dcat_info, 'spatial_uri', None) + spatial_uri = custom_metadata.get('spatial_uri') if custom_metadata else self.get_default_dcat_info_attribute("spatial_uri") dataset.set_spatial_uri(spatial_uri) # Set temporal coverage @@ -253,7 +252,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): self._set_conformance(dataset, epsg_text=epsg_text) # Set Metadata profile - metadata_profile = getattr(self.default_dcat_info, 'metadata_profile', OGC2CKAN_HARVESTER_MD_CONFIG['metadata_profile']) + metadata_profile = self.get_default_dcat_info_attribute("metadata_profile") dataset.set_metadata_profile(metadata_profile) # Set Responsible Parties (Point of contact, Resource publisher, Resource creator/author and Resource contact/maintainer) @@ -278,7 +277,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): self.set_metadata_distributions(ckan_info, dataset, distribution, record) # Set keywords/themes/topic categories - self.set_keywords_themes_topic(dataset, custom_metadata) + self.set_default_keywords_themes_topic(dataset, custom_metadata, ckan_info.ckan_dataset_schema) return dataset @@ -291,30 +290,33 @@ def add_distribution(distribution, dist_info): # WMS if wms_layer_info is not None: - wms_url = self.get_wms_url() + '&request=GetCapabilities' + '#' + record + wms_url = f"{self.get_wms_url()}&request=GetCapabilities#{record}" dist_info = self._get_distribution_info("WMS", wms_url, self.localized_strings_dict['distributions']['wms'], ckan_info.default_license, ckan_info.default_license_id, dataset.access_rights, dataset.language) add_distribution(distribution, dist_info) # WMTS if wmts_layer_info is not None: - wmts_url = self.get_wmts_url() + "?request=GetCapabilities" + wmts_url = f"{self.get_wmts_url()}?request=GetCapabilities" dist_info = self._get_distribution_info("WMTS", wmts_url, self.localized_strings_dict['distributions']['wmts'], ckan_info.default_license, ckan_info.default_license_id, dataset.access_rights, dataset.language) add_distribution(distribution, dist_info) # WFS if service_type == "wfs": - wfs_url = self.get_wfs_url() + "&request=GetCapabilities" + "#" + record + wfs_url = f"{self.get_wfs_url()}&request=GetCapabilities#{record}" dist_info = self._get_distribution_info("WFS", wfs_url, self.localized_strings_dict['distributions']['wfs'], ckan_info.default_license, ckan_info.default_license_id, dataset.access_rights, dataset.language) add_distribution(distribution, dist_info) # WCS if service_type == "wcs": - wcs_url = self.get_wcs_url() + "&request=GetCapabilities" + "#" + record + wcs_url = f"{self.get_wcs_url()}&request=GetCapabilities#{record}" dist_info = self._get_distribution_info("WCS", wcs_url, self.localized_strings_dict['distributions']['wcs'], ckan_info.default_license, ckan_info.default_license_id, dataset.access_rights, dataset.language) add_distribution(distribution, dist_info) # GeoJSON if json_info is not None: - workspace = layer_info.id.split(':')[0] - layername = layer_info.id.split(':')[1] - json_url = self.get_wfs_url().replace('geoserver/ows', 'geoserver/' + workspace.lower() + '/ows') + '&version=1.0.0&request=GetFeature&typeName=' + layername.lower() + '&outputFormat=application/json&maxFeatures=100' + layer_id_parts = layer_info.id.split(':') + workspace = layer_id_parts[0] + layername = layer_id_parts[1] + json_url = f"{self.get_wfs_url().replace('geoserver/ows', f'geoserver/{workspace.lower()}/ows')}&version=1.0.0&request=GetFeature&typeName={layername.lower()}&outputFormat=application/json&maxFeatures=100" + dist_info = self._get_distribution_info("GeoJSON", json_url, self.localized_strings_dict['distributions']['geojson'], ckan_info.default_license, ckan_info.default_license_id, dataset.access_rights, dataset.language) + add_distribution(distribution, dist_info) From 4eee0806b47fea258027905cb16172b63725c38a Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:36:07 +0200 Subject: [PATCH 16/19] Improve table harvester - Fix bug retrieving custom_metadata. - Minor fixes to avoid repetition and bugs. --- ogc2ckan/harvesters/table.py | 38 +++++++++++++++++------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/ogc2ckan/harvesters/table.py b/ogc2ckan/harvesters/table.py index 997252f..24c86aa 100644 --- a/ogc2ckan/harvesters/table.py +++ b/ogc2ckan/harvesters/table.py @@ -21,7 +21,7 @@ from mappings.default_ogc2ckan_config import OGC2CKAN_HARVESTER_CONFIG, OGC2CKAN_HARVESTER_MD_CONFIG, OGC2CKAN_CKANINFO_CONFIG from controller.mapping import get_df_mapping_json -log_module = get_log_module() +log_module = get_log_module(os.path.abspath(__file__)) class ObjectFromListDicts: """ @@ -146,17 +146,21 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, table_dataset: object = # Get basic elements for the CKAN dataset dataset, distribution, datadictionary, datadictionaryfield, uuid_identifier, ckan_name, ckan_groups, inspire_id = \ self.get_dataset_common_elements(record, ckan_info.ckan_dataset_schema) + + # Set basic info of MD + dataset = dataset(uuid_identifier, ckan_name, self.organization, ckan_info.default_license_id) + + # Set inspireId (identifier) + inspire_id = getattr(table_dataset, 'inspire_id', inspire_id) + dataset.set_inspire_id(inspire_id) # Search if exists custom organization info for the dataset custom_metadata = None if self.custom_organization_active: try: - custom_metadata = self.get_custom_default_metadata(layer_info.id.split(':')[1]) + custom_metadata = self.get_custom_default_metadata(inspire_id) except: - custom_metadata = self.get_custom_default_metadata(layer_info.id.split(':')[1], 'dataset_group_id') - - # Set basic info of MD - dataset = dataset(uuid_identifier, ckan_name, self.organization, ckan_info.default_license_id) + custom_metadata = self.get_custom_default_metadata(inspire_id, 'dataset_group_id') # Set private dataset private = getattr(self, 'private_datasets', False) @@ -180,10 +184,6 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, table_dataset: object = dataset_groups = getattr(table_dataset, 'groups', ckan_groups) dataset.set_groups(self._set_ckan_groups(dataset_groups)) - # Set inspireId (identifier) - inspire_id = getattr(table_dataset, 'inspire_id', inspire_id) - dataset.set_inspire_id(inspire_id) - # Creation/Publication/Revision dates issued_date = datetime.now().strftime('%Y-%m-%d') created_date = self._normalize_date(table_dataset.created) or issued_date @@ -201,16 +201,14 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, table_dataset: object = dataset.set_resource_type(dcat_type['series' if is_series else 'default']) # Set SpatialRepresentationType - representation_type = getattr(table_dataset, 'representation_type', OGC2CKAN_HARVESTER_MD_CONFIG['spatial_representation_type']['default']).replace('https:', 'http:') + representation_type = getattr(table_dataset, 'representation_type', OGC2CKAN_HARVESTER_MD_CONFIG['representation_type']['default']).replace('https:', 'http:') dataset.set_representation_type(representation_type) # Set valid date if hasattr(table_dataset, 'valid'): valid_date = table_dataset.valid - elif hasattr(self.default_dcat_info, 'valid'): - valid_date = self.default_dcat_info.valid else: - valid_date = None + valid_date = self.get_default_dcat_info_attribute("valid") if valid_date: dataset.set_valid(self._normalize_date(valid_date)) @@ -228,21 +226,21 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, table_dataset: object = dataset.set_language(language) # Set spatial coverage - spatial = getattr(table_dataset, 'spatial', getattr(self.default_dcat_info, 'spatial', None)) + spatial = getattr(table_dataset, 'spatial', self.get_default_dcat_info_attribute("spatial")) dataset.set_spatial(spatial) # Set spatial URI - spatial_uri = getattr(table_dataset, 'spatial_uri', getattr(self.default_dcat_info, 'spatial_uri', None)) + spatial_uri = getattr(table_dataset, 'spatial_uri', self.get_default_dcat_info_attribute("spatial_uri")) dataset.set_spatial_uri(spatial_uri) # Set temporal coverage - temporal_start = getattr(table_dataset, 'temporal_start', getattr(self.default_dcat_info, 'temporal_start', None)) - temporal_end = getattr(table_dataset, 'temporal_end', getattr(self.default_dcat_info, 'temporal_end', None)) + temporal_start = getattr(table_dataset, 'temporal_start', self.get_default_dcat_info_attribute("temporal_start")) + temporal_end = getattr(table_dataset, 'temporal_end', self.get_default_dcat_info_attribute("temporal_end")) dataset.set_temporal_start(self._normalize_date(temporal_start)) dataset.set_temporal_end(self._normalize_date(temporal_end)) # Set Frequency - frequency = getattr(table_dataset, 'frequency', getattr(self.default_dcat_info, 'frequency', None)) + frequency = getattr(table_dataset, 'frequency', self.get_default_dcat_info_attribute("frequency")) dataset.set_frequency(frequency) # Set info if exists custom metadata @@ -323,7 +321,7 @@ def get_dataset(self, ckan_info: CKANInfo, record: str, table_dataset: object = self.set_metadata_distributions(ckan_info, dataset, distribution, record) # Set keywords/themes/topic categories - self.set_keywords_themes_topic(dataset, custom_metadata) + self.set_default_keywords_themes_topic(dataset, custom_metadata, ckan_info.ckan_dataset_schema) return dataset From 4748b10ac6727f8ecb2f1afa281bd85d359ba8ad Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:36:49 +0200 Subject: [PATCH 17/19] Add xml harvester Harvests the metadata from a XML file that contains the metadata records in a ISO19139 format. --- ogc2ckan/harvesters/harvesters.py | 8 +- ogc2ckan/harvesters/xml.py | 356 +++++++++++++++++++++++++++++- 2 files changed, 352 insertions(+), 12 deletions(-) diff --git a/ogc2ckan/harvesters/harvesters.py b/ogc2ckan/harvesters/harvesters.py index e483f1a..4e8b849 100644 --- a/ogc2ckan/harvesters/harvesters.py +++ b/ogc2ckan/harvesters/harvesters.py @@ -19,13 +19,13 @@ def get_harvester_class(harvest_type, url): from harvesters.csw import HarvesterCSW from harvesters.ogc import HarvesterOGC from harvesters.table import HarvesterTable - from harvesters.xml import HarvesterMetadataFile + from harvesters.xml import HarvesterXML HARVESTER_DICT = { 'csw': HarvesterCSW, 'ogc': HarvesterOGC, 'table': HarvesterTable, - 'metadata_file': HarvesterMetadataFile, + 'xml': HarvesterXML, 'default': Harvester, } @@ -40,7 +40,7 @@ def get_harvester_class(harvest_type, url): elif any(ext in url for ext in OGC2CKAN_HARVESTER_CONFIG['table']['keywords']): harvest_type = "table" - elif any(ext in url for ext in OGC2CKAN_HARVESTER_CONFIG['metadata_file']['keywords']): - harvest_type = "metadata_file" + elif any(ext in url for ext in OGC2CKAN_HARVESTER_CONFIG['xml']['keywords']): + harvest_type = "xml" return HARVESTER_DICT.get(harvest_type, HARVESTER_DICT['default']) \ No newline at end of file diff --git a/ogc2ckan/harvesters/xml.py b/ogc2ckan/harvesters/xml.py index 0aec849..c42697b 100644 --- a/ogc2ckan/harvesters/xml.py +++ b/ogc2ckan/harvesters/xml.py @@ -1,21 +1,361 @@ -#TODO: WIP harvester # inbuilt libraries -from datetime import datetime +import logging +import uuid +import os # third-party libraries -from owslib.iso import * +from owslib.fes import PropertyIsLike +from owslib.iso import MD_Metadata +from owslib.etree import etree # custom classes from harvesters.base import Harvester - + from config.ckan_config import CKANInfo # custom functions -from mappings.default_ogc2ckan_config import OGC2CKAN_HARVESTER_MD_CONFIG +from config.ogc2ckan_config import get_log_module +from mappings.default_ogc2ckan_config import OGC2CKAN_HARVESTER_MD_CONFIG, OGC2CKAN_HARVESTER_CONFIG + +log_module = get_log_module(os.path.abspath(__file__)) -class HarvesterMetadataFile(Harvester): +# Custom exceptions. +class XmlError(Exception): + pass + +class HarvesterXML(Harvester): def __init__(self, app_dir, url, name, groups, active, organization, type, custom_organization_active, custom_organization_mapping_file, private_datasets, default_keywords, default_inspire_info, constraints, **default_dcat_info): super().__init__(app_dir, url, name, groups, active, organization, type, custom_organization_active, custom_organization_mapping_file, private_datasets, default_keywords, default_inspire_info, **default_dcat_info) - self.constraints = constraints - self.metadata_file = None \ No newline at end of file + self.md_records = None + self.folder_path = None + self.formats = OGC2CKAN_HARVESTER_CONFIG['xml']['formats'] + self.constraint_keywords = self.set_constraint_keywords(constraints) + self.constraint_mails = self.set_constraint_mails(constraints) + + def set_folder_path(self, folder_path): + self.folder_path = folder_path + + def set_constraint_keywords(self, constraints): + return [PropertyIsLike("csw:anyText", keyword) for keyword in constraints["keywords"]] + + def set_constraint_mails(self, constraints): + return [mail.lower().replace(' ','') for mail in constraints["mails"]] + + def get_datasets(self, ckan_info): + self.md_records = self.get_metadata_records() + + for record in self.md_records: + self.datasets.append(self.get_dataset(ckan_info, record, 'xml')) + + return self.datasets + + def get_metadata_records(self): + """Get metadata records and return them in a dictionary with the identifier as the key. + + Returns: + dict: A dictionary of MD_Metadata objects with the identifier as the key. + """ + md_records = {} + md_file_paths = [] + + if os.path.isfile(self.url): + md_file_paths.extend([self.url]) + else: + for md_format in self.formats: + try: + md_file_paths.extend([os.path.join(root, file) for root, dirs, files in os.walk(self.url) for file in files if file.endswith(md_format)]) + except XmlError as e: + logging.error(f"{log_module}:Error retrieving metadata records from folder: '{self.url}': {e}") + + for md_record in md_file_paths: + try: + metadata = MD_Metadata(etree.parse(md_record)) + identifier = metadata.identifier + if identifier: + md_records[identifier] = metadata + except XmlError as e: + logging.error(f"{log_module}:Error adding loading MD_Metadata record: '{md_record}': {e}") + + return md_records + + def get_dataset(self, ckan_info: CKANInfo, record: str, service_type: str): + ''' + Gets a dataset from an XML metadata file (MD_Metadata OWSLib class). + + Args: + ckan_info (CKANInfo): CKANInfo object containing the CKAN URL and API key. + record (str): identifier of the dataset to retrieve. + service_type (str): Type of OGC service ('csw' for Catalog endpoints). + + Returns: + Dataset: Dataset object. + ''' + # Get basic elements for the CKAN dataset + dataset, distribution, datadictionary, datadictionaryfield, uuid_identifier, ckan_name, ckan_groups, inspire_id = \ + self.get_dataset_common_elements(record, ckan_info.ckan_dataset_schema) + + # Get metadata record info + if service_type == 'xml': + layer_info = self.md_records[record] + + self.ows_update_metadata_sections(layer_info) + layer_info.md_not_owslib = self.ows_get_metadata_not_owslib(layer_info) + + # Search if custom organization info exists for the dataset + custom_metadata = None + if self.custom_organization_active: + custom_metadata = self.get_custom_default_metadata(layer_info.identifier) + + # Set basic info of MD + dataset = dataset(uuid_identifier, ckan_name, self.organization, ckan_info.default_license_id) + + # Set inspireId (identifier) + inspire_id = layer_info.uricode + dataset.set_inspire_id(inspire_id) + + # Set private dataset + private = getattr(self, 'private_datasets', False) + dataset.set_private(private) + + # Set alternate identifier (layer name) + alternate_identifier = layer_info.identifier if layer_info.identifier else None + dataset.set_alternate_identifier(alternate_identifier) + + # Title + title = custom_metadata.get('title') if custom_metadata else layer_info.identification.title + dataset_title = title or self.localized_strings_dict['title'] if title is not None else f"{self.localized_strings_dict['title']} {inspire_id}" + dataset.set_title(dataset_title) + + # Description + description = custom_metadata.get('description') if custom_metadata else layer_info.identification.abstract + dataset.set_description(description or self.localized_strings_dict['description']) + + # CKAN Groups defined in config.yaml + dataset.set_groups(ckan_groups) + + # Creation/Publication/Revision dates + issued_date, modified_date = self.ows_set_metadata_dates( + dataset, + layer_info.identification + ) + + # DCAT Type (dataset/series) + dcat_type = OGC2CKAN_HARVESTER_MD_CONFIG['dcat_type'] + dataset.set_resource_type( + dcat_type['series'] if layer_info.hierarchy == "series" + else dcat_type['service'] if layer_info.hierarchy == "service" + else dcat_type['dataset']) + + # Set SpatialRepresentationType + representation_type = ( + layer_info.identification.spatialrepresentationtype[0] + if layer_info.identification.spatialrepresentationtype + else 'default' + ) + dataset.set_representation_type( + OGC2CKAN_HARVESTER_MD_CONFIG['representation_type'].get( + representation_type) + ) + + # Set valid date + if hasattr(layer_info, 'valid'): + valid_date = layer_info.valid + else: + valid_date = self.get_default_dcat_info_attribute("valid") + + if valid_date and valid_date is not None: + dataset.set_valid(self._normalize_date(valid_date)) + + # Set access rights (Dataset) + ## Unnecesary. Default rights in Dataset + + # Set SpatialResolutionInMeters if denominators exist + denominators = getattr(layer_info.identification, 'denominators', []) + if denominators: + dataset.set_spatial_resolution_in_meters(denominators[0]) + + # Set language + language = getattr(layer_info, 'languagecode', OGC2CKAN_HARVESTER_MD_CONFIG['language']).replace('https:', 'http:') + language = 'http://publications.europa.eu/resource/authority/language/' + language.upper() if 'http' not in language else language + dataset.set_language(language) + + # Set spatial coverage + bb = getattr(layer_info.identification, 'bbox', None) + if bb is not None: + self.set_bounding_box_from_iso(dataset, bb) + else: + dataset.set_spatial(self.get_default_dcat_info_attribute("spatial")) + + # Set spatial URI + dataset.set_spatial_uri(self.get_custom_metadata_value(custom_metadata, 'spatial_uri')) + + # Set temporal coverage + if layer_info.identification.temporalextent_end and layer_info.identification.temporalextent_start: + dataset.set_temporal_start(layer_info.identification.temporalextent_start) + dataset.set_temporal_end(layer_info.identification.temporalextent_end) + else: + dataset.set_temporal_start(self.get_custom_metadata_value(custom_metadata, 'temporal_start')) + dataset.set_temporal_end(self.get_custom_metadata_value(custom_metadata, 'temporal_end')) + + # Set frequency + if hasattr(layer_info, 'frequency'): + frequency = layer_info.frequency + else: + frequency = OGC2CKAN_HARVESTER_MD_CONFIG['frequency'] + dataset.set_frequency(frequency) + + # Set provenance (INSPIRE Lineage) + provenance = getattr(layer_info.dataquality, 'lineage', None) + dataset.set_provenance(provenance) + + # Set purpose (ISO19115 MD Identification) + purpose = getattr(layer_info.identification, 'purpose', None) + dataset.set_purpose(self._unescape_string(purpose)) + + # Set lineage_source (INSPIRE Lineage sources) + lineage_source = layer_info.md_not_owslib.get('lineage_source', None) + dataset.set_lineage_source(lineage_source) + + # Set process steps (INSPIRE quality) + lineage_process_steps = layer_info.md_not_owslib.get('lineage_process_steps', None) + dataset.set_lineage_process_steps(lineage_process_steps) + + # Set reference + reference = getattr(layer_info, 'parentidentifier', None) + dataset.set_reference(reference) + + # Set info if exists custom metadata + if custom_metadata is not None: + # Set provenance (INSPIRE Lineage) + provenance = custom_metadata.get('provenance', self.localized_strings_dict['provenance']) + dataset.set_provenance(provenance) + + # Set source (INSPIRE quality) + source = custom_metadata.get('source', None) + dataset.set_source(source) + + # Set lineage_source (INSPIRE Lineage sources) + lineage_source = custom_metadata.get('lineage_source', self.localized_strings_dict.get('lineage_source', None)) + dataset.set_lineage_source(lineage_source) + + # Set reference + reference = custom_metadata.get('reference', None) + dataset.set_reference(reference) + + # Set process steps (INSPIRE quality) + lineage_process_steps = custom_metadata.get('lineage_process_steps', self.localized_strings_dict.get('lineage_process_steps', None)) + dataset.set_lineage_process_steps(lineage_process_steps) + + # Set conformance (INSPIRE regulation) and set EPSG + epsg_text = layer_info.referencesystem.code if layer_info.referencesystem else None + self._set_conformance(dataset, epsg_text=epsg_text) + + # Set Metadata profile + metadata_profile = self.get_default_dcat_info_attribute("metadata_profile") + dataset.set_metadata_profile(metadata_profile) + + # Set Responsible Parties (Point of contact, Resource publisher, Resource creator/author and Resource contact/maintainer) + if custom_metadata is not None: + self.set_custom_responsible_parties(dataset, custom_metadata, ckan_info.ckan_site_url) + else: + self.set_default_responsible_parties(dataset, self.default_dcat_info, ckan_info) + + # Overwrite Point of contact (Metadata) and Responsible Party (Resource) from OGC Info + if hasattr(layer_info, "contact"): + contact = layer_info.contact + contact_name = getattr(contact, "name", None) or getattr(contact, "organization", None) or 'Unknown' + dataset.set_contact_name(contact_name) + dataset.set_contact_email(getattr(contact, "email", None)) + dataset.set_contact_url(getattr(contact, "onlineresource", None) and getattr(contact.onlineresource, "url", None)) + dataset.set_contact_uri(self._get_dir3_uri(ckan_info.dir3_soup, None, getattr(contact, "organization", None))) + + # Overwrite publisher/ISO19115 distributor + publisher = getattr(layer_info.identification, "publisher", None) or getattr(layer_info, "distributor", None) + if publisher is not None: + publisher_name = getattr(publisher, "organization", None) or getattr(publisher, "name", None) or 'Unknown' + dataset.set_publisher_name(publisher_name) + dataset.set_publisher_email(getattr(publisher, "email", None)) + dataset.set_publisher_url(getattr(publisher, "onlineresource", None) and getattr(publisher.onlineresource, "url", None)) + dataset.set_publisher_identifier(self._get_dir3_uri(ckan_info.dir3_soup, None, getattr(publisher, "organization", None))) + + # Set license + dataset.set_license(ckan_info.default_license) + + # Set distributions + self.get_distribution(ckan_info, dataset, distribution, record, service_type, layer_info) + + # Metadata distributions (INSPIRE & GeoDCAT-AP) + self.set_metadata_distributions(ckan_info, dataset, distribution, record) + + # Set default keywords/themes/topic categories + self.set_default_keywords_themes_topic(dataset, custom_metadata, ckan_info.ckan_dataset_schema) + + # Set topic category ISO19115 + topiccategory = getattr(layer_info, "topiccategory", None) + if topiccategory: + dataset.keywords.append({'name': topiccategory}) + topiccategory = "/".join(["http://inspire.ec.europa.eu/metadata-codelist/TopicCategory", topiccategory]) + dataset.keywords_uri.append(topiccategory) + + # Set keywords from CSW + self.ows_get_keywords(dataset, layer_info.identification.keywords) + + return dataset + + def get_distribution(self, ckan_info: CKANInfo, dataset, distribution, record: str, service_type: str, layer_info): + """Adds distribution information to a CKAN dataset. + + Args: + ckan_info (CKANInfo): Object containing CKAN-related information. + dataset (CKANPackage): CKAN package object to add distribution information to. + distribution (object): Object containing distribution information. + record (str): Identifier for the metadata record. + service_type (str): Type of service. + layer_info (object): Object containing metadata information. + + Returns: + None + """ + # Add distributions + dataset.set_distributions([]) + + # Add distributions from CSW + for i, r in enumerate(layer_info.distribution): + distribution_id = str(uuid.uuid4()) + try: + # Set distribution format from MD + dist_info = { + "function": r.function, + "url": r.url, + "description": r.description, + "name": r.name, + "protocol": r.protocol, + } + + format_type, media_type, conformance, default_name = self._get_ckan_format(dist_info) + dist_name = r.name or default_name + + except Exception: + logging.error(f"{log_module}:Error processing distribution '{i}' of '{record}'. Asign default values.") + format_type, media_type, conformance, dist_name = None, None, [], r.name or f"{self.localized_strings_dict['distributions']['default']} {dataset.title}." + + try: + distribution_data = { + 'id': distribution_id, + 'url': r.url or '', + 'name': dist_name, + 'format': format_type, + 'media_type': media_type, + 'description': r.description or None, + 'license': dataset.license, + 'license_id': dataset.license_id, + 'rights': dataset.access_rights, + 'language': dataset.language, + 'conformance': conformance + } + + dataset.add_distribution(distribution(**distribution_data)) + + except Exception as e: + logging.error(f"{log_module}:Error adding distribution '{dist_name}' to dataset '{dataset.title}': {e}") From d81096f0488ff8de7bb2535659f75d78a49317c8 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:37:52 +0200 Subject: [PATCH 18/19] Improve ogc2ckan - Fix log messages. - Fix data dictionary creation. --- ogc2ckan/ogc2ckan.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/ogc2ckan/ogc2ckan.py b/ogc2ckan/ogc2ckan.py index 53b758f..2e7f2f6 100644 --- a/ogc2ckan/ogc2ckan.py +++ b/ogc2ckan/ogc2ckan.py @@ -39,7 +39,7 @@ def launch_harvest(harvest_server=None, ckan_info=None): from harvesters.base import Harvester start = datetime.now() - logging.info(f"{log_module}:Server: '{harvest_server.name}' ('{harvest_server.type.upper()}') with url: '{harvest_server.url}' and CKAN organization: {ckan_info.ckan_site_url}/organization/{harvest_server.organization}") + logging.info(f"{log_module}:Harvester: '{harvest_server.name}' ('{harvest_server.type.upper()}') with url/path: '{harvest_server.url}' and CKAN organization: {ckan_info.ckan_site_url}/organization/{harvest_server.organization}") harvester = Harvester.from_harvest_server(harvest_server, APP_DIR) @@ -52,12 +52,19 @@ def launch_harvest(harvest_server=None, ckan_info=None): diff = end - start # Log CKAN Datasets with conflicts - logging.info(harvest_server["name"] + " (" + harvester.type.upper() + ") dataset records retrieved (" + str(harvester.source_dataset_count) + ") with conflicts: (" + str(harvester.source_dataset_count - harvester.ckan_dataset_count) + ") from ('" + harvester.type.upper() + "'). Check Datasets with conflicts by 'title': " + json.dumps(harvester.ckan_dataset_errors, ensure_ascii=False)) + logging.info(log_module + ":" + harvest_server["name"] + " (" + harvester.type.upper() + ") dataset records retrieved (" + str(harvester.source_dataset_count) + ") with conflicts: (" + str(harvester.source_dataset_count - harvester.ckan_dataset_count) + ") from ('" + harvester.type.upper() + "')") + + if harvester.ckan_dataset_errors: + logging.info(log_module + ":" + "Check Datasets with conflicts by 'title': " + json.dumps(harvester.ckan_dataset_errors, ensure_ascii=False)) # Log CKAN Data Dictionaries with conflicts - logging.info(harvest_server["name"] + " (" + harvester.type.upper() + ") data dictionaries retrieved (" + str(harvester.source_dictionaries_count) + ") with conflicts: (" + str(harvester.source_dictionaries_count - harvester.ckan_dictionaries_count) + ") from ('" + harvester.type.upper() + "'). Check Data dictionaries with conflicts by 'resource_id': " + json.dumps(harvester.ckan_dictionaries_errors, ensure_ascii=False)) + if harvester.source_dictionaries_count > 0 or harvester.ckan_dictionaries_count > 0: + logging.info(log_module + ":" + harvest_server["name"] + " (" + harvester.type.upper() + ") data dictionaries retrieved (" + str(harvester.source_dictionaries_count) + ") with conflicts: (" + str(harvester.source_dictionaries_count - harvester.ckan_dictionaries_count) + ") from ('" + harvester.type.upper() + "')") + + if harvester.ckan_dictionaries_errors: + logging.info(log_module + ":" + "Check Data dictionaries with conflicts by 'resource_id': " + json.dumps(harvester.ckan_dictionaries_errors, ensure_ascii=False)) - logging.info(harvest_server["name"] + " (" + harvester.type.upper() + ") server time elapsed: " + str(diff).split(".")[0]) + logging.info(log_module + ":" + harvest_server["name"] + " (" + harvester.type.upper() + ") server time elapsed: " + str(diff).split(".")[0]) except Exception as e: logging.exception("An exception occurred!") @@ -66,7 +73,7 @@ def launch_harvest(harvest_server=None, ckan_info=None): end = datetime.now() diff = end - start - logging.error(harvest_server["name"] + " (" + harvester.type.upper() + ") server: " + harvest_server['url'] + ' failed connection.') + logging.error(log_module + ":" + harvest_server["name"] + " (" + harvester.type.upper() + ") server: " + harvest_server['url'] + ' failed connection.') print("ERROR::" + harvest_server["name"] + " (" + harvester.type.upper() + ") server: " + harvest_server['url'] + ' failed connection.') return harvester @@ -139,7 +146,7 @@ def main(): else: new_records = 0 - logging.info(f"{log_module}:config.yaml endpoints: {str(len(harvest_servers))} and new CKAN Datasets: {str(new_records)} | Total time elapsed: {str(hrvst_diff).split('.')[0]})" ) + logging.info(f"{log_module}:'config.yaml' sources: {str(len(harvest_servers))} and new CKAN Datasets: {str(new_records)} | Total time elapsed: {str(hrvst_diff).split('.')[0]}" ) except Exception as e: logging.error(f"{log_module}: Error reading configuration file: {e}") From 96e1537942350a559040bd5eb6d807a130c797a4 Mon Sep 17 00:00:00 2001 From: mjanez <96422458+mjanez@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:41:32 +0200 Subject: [PATCH 19/19] Remove symbolic_link --- symbolic_link | 1 - 1 file changed, 1 deletion(-) delete mode 120000 symbolic_link diff --git a/symbolic_link b/symbolic_link deleted file mode 120000 index 8d07c8b..0000000 --- a/symbolic_link +++ /dev/null @@ -1 +0,0 @@ -source_file \ No newline at end of file

c}E4zcDRF3}I-GQYNnWB%X^Yu88dQ4{Qxq0wDYq7ryYac$Ipmi|JT(tjlCIzM7X#(2P3$X`Ng3W6(} zxGQWq!|~1D5Ad}kaZPgRL%lXoXY-o}epUmqfK?0RJm9&hD5t5l@G2pXY({uMN*=rxUQL@cTB zAARg0?^C&t4|(;PgA#^CEk>e~{+H!w;UCpS{8y=t90qCopXEtYm-wS5*V;1hKNs1` z{gF>=7hM3I^dA)x1Z7nVjV3?usxK1cQLENpDcsbDe+WuByux5A&7-z>=w6)N-N6T) zq`w~qgod;}{n^>ZIZvNWq)w&+Rg^2t*v0kA?Fy{%@YG;Was2p<;IVS*eMyfzK5OXg z(N9!jk3-!OQv7l;qrP?W!A$9SmB9HcC;XWu7?)+gV}{8Db;o8d?d+<5(b(Q)XET5F zfyHNhomCyK&bE$FXI*!+?s%Pfon_q-O}je$vvTj@`|wtH0(=Hu4)1_pgAc)P!=J)0 zz~|wG*12Jfh#aYyQfndPDAEI&k0eSVpCij|U%GpOx?P(sjLl+?f6bybP4C#AKLzMv z%iz`_O&{0W&|K$c)Gi2k(v-1Xl3iHKyU(yGk|~(x+$Ky@F8!3mWC6TT?{II$ihcrC z1}@X?JzZ{uBxt(RQw#SzR_aaZaHTe^8gED()BS|6)9KTFhu1W1*KHdtE&DB6(h^gS zO~KGYBMHvks?oRI-Bakh-|)K5;ncuu!Wtt{=}yrSDPbJJ5t zJq1#XY?U4w+0JD(NxI3N&0H|D&35^k7s%~4F)Dj@EG@Mv@S0Hy(LRKi?3rR8;+5f< z;ve!fh4~kq?9pwOW|ZQ;kf_e^Aux!G+YFSzGJH{Z*oc9DOC zE!EU^ou}s0$KQ%-=bwCAc(}a0pif+cYL}yy=cpQ^%Zs!V{S(VIUqVpT>C5l7o~!UW z>zC*ovK+&hd*MSoyldH7^YG&C8%tT#COq$)hHPuE*3zxZfkXqB!ojcpfqZixJ>IS3 z&`4T7e@0ebW{E>w=cS3cDu+hr7nhvChrvS&rtK3!Y)>o?Jxo$J>HeOT#LzXpcwwa3 z%5}E8@z6u(rcJwVw(PXorY-(BkU`{hh@NiEy7F?nO&ZFj(3q%Xv#s^G|3XSx(*Z9A z@>#{D-Vz0l@3Ye^H2(#mC!-7HSB0fLRSq=XGq(nZ==iRDBxC5sU5|@{ zzS@!Gw6O}nRd3^h zoa}QY3VQGnT{u2S85iASd9i+SOX8z0DINJ8Yn9hfixW4jK6$oeD!8_h@rkq0r97#YugcYz4wZ|ZcUEaB>Vg_A^uD?~Phg zL`zHSXt-nO^|>jMtc2h*gZ_hNUwm^A`wgS!FlA1A3^?5R8uE>0%H8uv68m?twM>0$ zVP$xaHHa%yl7bwF-Va*#@Hn4*Gl$CfON+=o!-@hIP zTMZJ_7L7&O15A6v5X$X!jP#Jq#_y zrlD+CxD%3&0be}f+6on0BDX`wW6%gxd1q~2doe4_cn$^Q`(vg1Fe`*}-G+eZVQ3`k z8Sgt4y7nemv77ln_yRLFtnzW5Lrb%s{;+Ko_0Df$gRIV>v8)CIT&tusCWFQh_bU3p zM8`kU3=)bB2SU3jKhO&%;>zWN)Up z)*3c*42p;aA2%lBP(KXfi3Or-?N-T$V}WKCdnP!-a{bLJae_(Q*0Bomo`Hpj!G-6L z{zb4bt#g%31OO_C0~Gw*RZ3VJV4R2p>6q8ON>L&KIXykAAdU$ZK0sU-fi(;!DENyB z6q&cF3$UCUT4lQe0CYJXEx_71jDm{d!MATXFQEmtejG)H7UPJ@*e|O+=J^%m! delta 398986 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�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 z zlYW|Yby)XkO3x%MBi`)HT0BbGB2h_pnJihF6_*AJc}RnsnVMq7>~U7b$&o(Ecup|e z>@T7iw@~YDLrO975?gs_g4ReE&ysscR3I)B#UEmD(Z8`{qUSTaxMY*NIS<(2rlac% zr)7s)`~#}>7BIIf|JtPJZZsA$4TEnJ-rx6_9P zzQFQVVdUBr={Oa#FK(Kib@tVybo%-&el%00dtvjGNHEBHOBz&+)bvh>6N$zq3>p<* z<=VdltWxyc9)gBQ%e|S6QgKLG)(_p|$yIzSHi-_rD6|sYWYG*rz3*oX?0?eYw-urD z-=9K`IVZU5uti-SsHjROiAog;1~6aoz!ulPjN#9rqX?G)7c;M{k^a@j+;I9*PA1*# zcHa`6?y^JtK2dn<#pMirD0`yoX8N0~;#O)5bqxXxsdr`p!u)-1bHgOO1oaZt!YjRk z-&RwOHduWcx0!en^)6l0+s6vtXt0vy7eQFa;K}d{XRF~inyeOZ#i6s7trHwz11(<*p7mkcX9ESXxV3E>cuYG5_AK6pp#{jX7<06XH;;!k{`;4EV zD}OR^*gqy*qq@P}_iL9RN7-LNJj`D~Wk?gDjBmKpvzHLw%6Rq@+voyDWZF0UlgIi^ zWSe&ei!Y*YRW>7;B+}mu3c#>!0>B6&^I(KNq=B&4S==m-{FvgQ4zczVd$rgj7cbAx z_;YI$c*@`F>uw6Rd3GUS> zj047(Xq$l30(+$k0pGK&JUoonf0AzdYsBgbxZ%YORFreu3`SXfA4>DUzwVFe{KDmCCrsC<$~;gl8=KSb1{NpKyG2KwHvT z$ab`%#Hn%^D=ECRAi0K_yovpC`oWI;OVPViibb5)rJ0D3lsuA=5nbUI$r(u8OBK3j z+Ph(>;6oTr(v8He7lsX0e{hDB|;vtO^RoDG5)?5x_ThGJK-Bx{zadRB?v$97(^ z7rbP4zPvS>?!X{wZe`Py@%;J9=58qrkxMg)!B5W`c0OYF9qV4^A#f0zJU6x6o5SS1 zMoQEA_n#9DNTqMd7uOqn?A=T)%d6+v z<=83R^%86I{jXh$102*Q#@98%ZCn4-C?sW|XwAv$j>}+`qtF3ezjYzI*q#!n+2N`1 zFTu4KUYmB+{yq3lKn zN}Lj--MnLeNqtDPaGmflmI{V;(iGX507T(#x47#ac4jX7d(&Un$}W+-9cv#Ie?s1& z9L6lJjyELPCkthdI|6^e^&-{Bs`9Lodqm`uW{QBqI>dNB4xOj=4nUOMNmb67dfgY?_; zla;npZ5PE?Jc9K`l9wxICOVOcXxM} zbc2A@Aw)pBVbd)j-CY9GA`OBx98g3+q`M`gwLXikRa?%lfB7-K`Xh!n{ey}2y$`lGmzsECfgf{x)1@6#d@o1db;9D-0Li|c@`~fqq?;I?fX9o zDNY~!u+EK;O0wTKnU(e>Ebrb~m$2CX;Cd>WUFuBWjTRWoOr8V<-nXu4j~hjf+d+DT zj@nwxR7Z~T5jueU5BcM1Hr6a!7F*x66U#J$PWF!sqA1v7&*-5$EAHMs&LX>K^cUgZ z>*~*Egf(8y+}_k7w5Mm!rPGPY>LvCZqvbRaT7})srTlV?+DkOPo&1)1Q1d0P{2e)V zheUbM%S8iZ2^>e^y>xDadVj-!%+V4jR-W^tI=rAJ7OOEJFVJQEj)ZTjbWsEUMpbu}9sau4V9gWUo~VdB4ZGpDBfZ2}NaRTS0R-tpi#w1Bk{2}@JuGL&)K z=amDUmyT1gNjp8j1KRV^>*C1b_=yMBBPu3&dpX?u@b{p;_x^Tx1$dG$*Em*Q0eqhx zEr7ef=YS8GUK^hRB*esSk29};r@xChD^HJ8y^j}bDCgXd2fayD2mU$_H%pzBm6bXl zCYyEI1AQ|M3{H8536f?zO7ze^=on;UR2&Yf58hi`&d{djvRktF%` zXet*63Pyh&u;st|Az~Wfk*d_Fx4nG_e%-=xM;!9ERBz-*?-oZ8s3!JaUf#l!N8^h? zSwg)gV#@?;@_akTk=c4zs-j;2f2yL1-u974O_!1Cd7a2uc5*i`zHryN<~qI*ZboT} zqk)kHG3bVg`S~esxohAs9J$feBiX7U5pCnRJ(EF73^g} zsym#UoNnP@)t(Uk+Wq*3_Ub}Aqh}r1E9PK5-yVH=Y?P6Q!a0_b%n6D*Yh9ZjPuV1T zm<-)$FRGUjV%9mfXq3o2U-=oKGm&O;b?=Ds(Xl}7hEM2m0nKKko*esgR}kA7^Qb+U z>4wi#uh2)LZmm7oG^`g(lHlR^;=TIC9Sgxy&2pQOuvw=0nsxJ!k0%NR`8+`DW5=51 zn33&0`1M!GZNK+M`}Q-ZK1pa6GHYZ7#N23JK`OzwZ|7D)C4SaqSJloNP?NuO2>PZ2 zz6HUzO@qca_RJ`@TRyrES)6Z82XsFY^qjs~OYsf5FTy-BYkw7c{QElBhUI9__AIu< zS2g!KoT=OB-&rlFm=m4A*_0+J2CxKfiTMEz8DnScyr^%hQf0ZCoc_+n;u`w=wCZ}o zK}{jU%Z!!}(v}8SY{rLH3GR$GTZQ>NhR>59pA9TXI>i%ejGILdA?A$D{OW`A&L`1Z zYK=`&PjSzmUQZD|we=+W)8AmhiRRxdHhd>t(&ARNcU}Xb836A&;#Nx_?)~gMT1W;j z+EG_fvWMvJ&k25&aeS9b6>)q_N3%GlYe8dKKA&}lpiZ~V1Va@T!W0f<1DOe#=T5hJ zyiY71|7ytLIidJres?_f%`I;k&$Wol4=2@$2i1R9P`8cU>GMCumFA7kU)VDzX!N>> zOuM(TNTvVtSpcqipQL)Zw~>PF#?l12@Lw%6Krb#sS8_j_kN;^HE&bEIFj{)A8gMI4 zg>;wp)k+z0tT-J5ExuKN$mQ4~QO)|R@5vG|{iTDdE+UzoTzy??k+XSx~`ytH70 z>b2HZ_(c7LCR|I`sI+k3*6!!>PosiO@=WbIk~UTIAFCb{tC+&?F^Y z$0Q{|=@(9)__Q21Q-Po3)&<9s(4%o81_1HZ*d|eclvXEkbHUy^#}SqW38ThbGt&Lb z6TP4QhLpA%yR6}Q$E*m8t_`-65-A1iOSVh8c2VV9YOkBWl$?QA<~BVEN*>&zS4O&* z9jJz0jvX0=jeL!5qQB7ZW4+Q30sU1|>ctW?@phmm^RQO+)8+|7fXEEyQ82!3B4B$N z1bqiBVKM9|K(RFRIjJ7(0i04pF6LU=D&aNfq)tKuUw+e(THf)p>tRe8HJfcxp7ut) zaC-Ur1GDV0kKLdai8S)cw5QIrrzAmN{l&82dke3;bTmmK@U4l!xBgdK`^YyL>7rmb zWiunk#NFGgaCM75q>fvDP*Xqy#HDkEuQcWa7_i#e>J&t9Jm|rGfC0g)g2O9AD6F+0 zx?)fjytv43;hzy5zhqiPy{|uuddH!EN6Ot#MmqzYj0lcfJy^*X@H}NaTDf3oo}ZlU z>F?gZdEl+~CTuYtjo+>lu?W(fm41`fAT0cbP{_QZ+h_Kw&W-ZAs+A3ZE)}}{>UI|S z>7MyFT=}TR<pEa?CoxJLmR4Wy<6fbznDyuNY*~O)^ln00sojrJ?!iJg zVsPAFcLrbn#w&4UdyOzb!m5XNte5H}jB3jTD?2rs$Ndw3UdiLl*utW3zkSzy!z0a> zD^SM$Hct@n?)!CLJ(dYb+w*^{IsLRYIyJ)7n6fpIUua$*;8zjL$Mj?=a{sxbj zA-}XXVR1h~DRZfy6P*SvEDCRhA`0|{fA)FiU~JGrA(cL!6b97yxL|2v6n14C!=~zH zVf-54C>{+$esiIo0NbmNmIeRChv!ow;wwTF>I>D>=O#^=A(A*sYAN3^_V@nWVc_y3 zrR5?NLSDwUuxlAXzx02t#U6{87C)U5!2rWE!|dxVy&f~-)Rryl0PR;o3_srmB#V0R zHU$3FlOqFe#wsG3=$vcM*)QYH`s=C25|Yz{hfMZbL9Z}Txo~l3dkKYB5Na{?CMaRV zM`Rsk1p$g{Org5&e^X^nlZ8eoYnn`FR}E3ODGPNWPb<6_G4dBi^m1b1JE;dALNmh;d{YZKxs&}sbe?5pC z=s^Mu`KLe+f@ZR_ljjAFYtPH}XeytNY`b&kmjFGFSnCEZ^Nru&4XLmOsAu2_;(l`g zLX2bc_CF~6V9f0m3^UnjU27Q60Ow8fKmpJB8sGiPIe=Sf;&1z4%@mLSj1T0Pj=Dg6 z0QWh;#4U}VR{SxqdE*(&HQzXTXKsXBSu6hN&2n5mNR_)k<*w!4*C~pfT9H$+APN(pwO1lI4ZvqMmRYnH4dXl&$1^qd+x@QT@#6K(VX&l9H0|(fhHcb3k|829q^HzB@y3LkZ^1mLn= z(hx{(U+%sM!8m>cx9ECp%eHryWs-HH)g|=CP`B;%x#6}sv-8V^#oQKF7d$4)D$?%; zI7_^Z54li=ISX!)MNnm3+5^T;9%+M2Y6%e9`F@odxBYa>_8*K4K8euT);9(oKQblY zSHk}8F!kDpp4WAW=Dx-M(9`AS{S@ia34C}jZHLqDXEVenEd<^#x;ZYk&7Lc{@x3Ws z!GSsjUOD!K1YTNcy)_*R|7iCeZOx3HE^%~>gd%Sg$ zw*SU{rc5>Ooj=9eNn=tM5N9#~aX0K|8y^K9Oqg(x1c$XY^`sZxl<+Y6>{{?{g?c&8 z{bzo5xJ3e%g?713$0;moSaxP@8e^^&eoYq3DU~X+#tOiOHqMEVH6ixmDAH(zX`8PD zo~kixsU@Sy#v+qH2Y)p=XqDA#H@4e&BlT+Ap#4?ix%5LP+fL}R!alH@oe`?C{`sBZ zWlO2B$m%B{5zE}Z^-J3iG{19oR#~9t7OuZOJ5NV${4pzK*-ov6g}Gh-U_|0cVe6Wp zICmJ?=!bWY>xYM;{js*Mpzw4vK`@lNJVCO5`i-n%Y_Q-^Fqaz0%h`+A@7SppXTab* zD~c0OM2+2`ONia@(y{{(<5z50Z$_?-aQcY>Q~Hcm-QYi>=3(!1+Q3IWN-DVXulU;i zpN4EagR$Xq_NUkb9NgWH*tk4QuEGxsW%`%)#J=bznPBzU8*Dk_*?kzs5o|FhukJ_v;!%4rnsovu4os5uLz`a$dj>XM|1<3mzp zJN3|w8S^i08T~M&hBi@1Jall$>`zqdhZ7=U)>>6;fC<)K8E&$sdVr7cYN$&HB=96V9Wd z&Azz@cNGKO_#*~-%%Bg+e66U=IS0EdK@%xZCldb^tR+8U9Y2oOW}Bva+d&^9NPy$a zCxJ7+P@QK*S|$)-MH7dMY+KsdbZCKFQ;f!a<2=U>b8NuMX&}oqD9RtbP_T-n$K+@& zZ578Qqlk&Y!sc1eMf=2o%cP<-!Sw?%oeBje*QRSn%R!}dwdI~M8=5umsr)s@BexJ3 zdbj5q4X;2L0dKrcjx4|*LF$tc@;=$XbCU-Z)mxVWJQlML zF7r6q$%OviFKL z1fGix0xyKtg_J`XhMmf~N)P2WbGr-!^BG#ARFWLyv+E+cf&HE4H2}p5GTK$cw=n7u z2(c^|!6@P$=T zUG!U`x7PNfpnrc5r^s^1sl4`WHSFCviSha#k#jF}E@*E)k6fN*9=+0CH+nqFK*MCs zeQx|D7w~Z)-!;UDf!`+n`s*6pC&aoaegSIZ{MziL8Z>@D(lD>v?bGD)yylrLVjUN& z@drfoD|J+p{E(20>JT_1$d`e9PHyx3XKfwd$Z3{v3jbw(z&Et8_IWRzj##zTfl|P< zxj4C96L%H~=_md*joGjJ2CwHV^kMQ_7l{<21s{APpoE9X!G?z&3 zJ-_^XdISfUXIO8*>Ttc$-_$zzVrf{~dFH|6D)yioK{rY`o|mhGkSfe$SSId;Xuk$d7Y&aBA z1l5FOF3;;Zx6{y(OFV01*MlxOTIuBtR_1A&CfB@0S7$i-D$cE@4fx8ubn^v5xI)X< zCK-wwq-*+gM}D`h)nb9?dR%MJL5Cz2{2XR@?lEfcTR z1T^Xa!`ezE<|X2&CqlHj}Q65~(5 zw1o1I(TChL*?U(q{k+Hm+zf}_3$YI{{5`jk%%$SaP@G0FbQmW5q9PVyuSvcs=HU{J ze3%x6e2*_eUVzzwdtpaFioQTDoY!qdPI%<~WMZq=74Pc#Wuh=qBQ7b^ujnl~td2F# zEe-9d3vMIiZ%FC--wl@3;12l{(R!oe(K_9v639syfQMv|#CIuG}wQoXIzh}offt_uS#3z&V z!pZS^BVPmAEDR2yLixAgAa`QQ8bw$0?7t`!OrmHMij4sJNA(}h4Z_cRLe;)@h__gT zI&Le(n$RwolivKMjU?JLpqyt2PjG(0lKlb&2@yQ|f7ci3oqlyp-28X;Kaj(y8nIru z)l3XdISI1vZ@7u}Cdp7yhRBgBU-?SCl<;smohM-frX`ZK;hh4LY*nI6yziQ@5+Z9e z$zlGDSo^#M!$b4fGQ5eUS#3B?mlS>pl*Nz@1T-SjVPTsns4wYIq7#A*nBUEK&hNS; zFe?giQkR6?^C8N%t7<#s4!ISHZjbg&M80*EDs#p9f!9wNQb|7}{$TWN{Y}LOGw!x6 z4k}==i2Pv8;o|}a+b?c;?b?l90qk1Jb7;eMKhiH0Lav6ycgR@d7jU)hwYf_j*-HMk zqHlK%vjr7MXql#VbHgZGnpwKGIo^h~3H|%4Q zuKZhEoL*aHBS!L*e0(mW)hszjvSgMeylbHR8|{p4iU5A>yvW0Hu=lVD3#{3nlFE(d zp7a?+2)_OL`R9=v%WpS@l1G(St%G%;2Ys-+8V`zBvZ@z4-pHsmOaRauCHXIiQ%1m4H`UBc8QZb$nB!aG{< z-oNHya7fqNb9Eyx3oe_bQWwKcLCi>r(1I=WvMZD>W~ZXy5G#c1Z&BI8=ki%swUCC) z#z~kK>7vt85&2!!V*3I1B@?R-Rx_;&*}L?QIHz|rq_o&@4PGsn_jh%Yt!RMcXFK=c z{&|}N(02^2&0yID?o|us9g(GKDMbRw7~mMPSPCM4;SFzXdu0^4WX zHZbQ>2IKL537js0dYJEVQ$R|ms?4>`Z^0x%TPKl~>{8K;#(#0Ha7O6T<3ul(rsiuO z{!-Za*OHPS+(VCw^YU}o^#L$nAu(0@?#cZr+U;`k``-62(vL^c7Qn;Sob==4-Oiq) zyY%hjz}?l;?P7Fc@7>X`MeyUs_wV0*db^(PqE~{iAFqJNf0a1WS-`2qQ_#i#2mGt8 zj*Av8$gf|XboU?zvlS+rv*I~Dig>#Zk-+$bry_4$IluF8_fRw@juT=u3KOf-N3fiA zF07^VPn*5e(Td33Ko^NI?VJ6cf5zZuBTVq>v1GerEyDK4llVwFW83*wS`m;7ET5WEE!!w zIWo=(hOAA5S^CfC0w47XICn~ct)D&Hk`v4GN9o52Zr^acg+z8PP$JEB%(Z2>d))f% zK4IibhtFf#)~0}C*-V71eq+^GzskZ0r$2|JT2t(+x6HCea;Ery=-g>~4BA2a-@+9h z$*hF$lar~EmP}B$Ja^(~Fmy5r>dkrFTQLyD8JhP;;! zB4RCA+t`9nN_^~u*Cvt8-)TVL;NJ!2nDukbb?Wx-_Z`*c6z( z)iT);X&5OWtE!ezPd>RAH(Qh}R1>nwymZjpTQz~-Ffb@py%8wPFkx~2xWqchl*0FQ zVsL!}1C11{k53XP5L#=Y9BO@te9m0?96gZ&(%2@5q=c$R}^;%*(9a9 zM#aX_Uni$LQul;+gCZHDnov~c4L%F`kbSUyj&km~cx}@|u>eGg+SE`;>N%{V64W)C z3Mb!%Bj`GYBecRFKu&P}#%XSUP3_Np3qk8gOqV^jUiOfG1 z!vik^hpojC(lDxbg=our-G>(lDi7|)9jR8Uj_pd_s+2`?V7to%%4)kqE?Nt}&fi3b zP%4QauHvnP@7hJstdC)PW6&O~r8QGIg;y-~Gq@P4!yx$$g3mBZ1xbYC)%SNQUwg}{ zVo*SQ(TT~x&h^USxm>8*b!Y(tj937!4O_P_=w5i1OJt$t*`9w>Yc&ruh>TF}j6Pt0 z4Z){H?3ZPxR~K)@&zVjs49s^kd=BDc{n(fa6JX3&p_l19k1QN+E{{f@$QdL|xHP47 zxFG~9Qm)YGh5_iB4X+p>Op4MWZ*Dn>tEVXIDncc6t3`^ zIFw!-Q;I>aPkH2p$VM&vV$r*+?6gpZW4m^BfUrkd6sHJB?UiVAYL=@Kz?02*++kk z<{T!o7;e^O!m{R0dp{GCEwiv_77q1*>b?XTY5CRn(qr9@*=9evSZ0 zsy^!(V*S3`h#epc`z{$;qpI#o@Rdrc=cfD6sN3qr1vafZf?Wj9($5<{@#|iiU-AUO zXN#@AjJ}_F3VrzMAy4P!ew^3WIOFdUA05xyd%k~C7WJb172klZVE;zrgz$G39fWeF zQTh@I4LXa0W~rA=SWt_-o=$;mm+2e^Xo1~cCV4f@9B0{n>kK~){1?e0c{6@ZCkAy} zh{?e@f}BDbp{AlZeH!_HoPvfMY=N*MXOjw4kyL#?J{u@Ts(3Lz_N^op|wdS zd)Mw6JK*i)5m|vu67Fs{12W33V7Xn#8n^z$>k=2&T}*5W>jj+daD-^Wp#ei0Yzi?l zcx<_h0a1HVkbMwA?EEU=VFro0_#GN}iSHFIZ|}NFBP8OgV#VWR`!!UanZ8eU2d;avkp17knLSP`kW>7DoYijpI*=Bg(v}v!3Q-dwmA5~GJD^W} z#6@K15P7i(ga4dt!aCT3Ym#Uf?-B2~rV&}#Xos*)alQbiIduDygQgVBKZ9;JGuLO&5%0!Zf4()(F(%)3zUVB_ddrL}{1GkKuPi90-EP-13+pFM zAZh4}5PHPl2&L?u15X6j9s&d^!2#D{&7w}>uLDW8k1|XcJacaAVbS$wV@uj@{I$^6} z{kGsJIiv_gu;!4(@KMt8|M75und>EpO+I5}#3v12+Zd0$?kI~<{J~9Se(nGVGL)}D zhVm6!EiTAVTK>mSdXFI4M}th3F~AA&i%!A-VVdN|DdV=FNPcl>{PeU8eJDv&Iy|}p zGkKrP2zvW!E$(6wdbrGrcQuu?9wyxzvLtTadfr`3EX;@~WMs6!{Okl(Myg*sX5_xXC(1xL}!NN?S9am~{rl_C;G@ zB*`-exx2N0N!FL9Qo$0z78A@T8t&&Z)FVZp*IY-XEFgpb+|w75JJuIs9=P%?wVTU7 zC>t?Y?$;=ieLnauor`>h(OtpXPPe6Piul3>%1#Fi>NI_7p#5VFWtMA}_u;upfv2V= z-wbP(bqZ$+v@>Bb0Ol_gKEyI;I4L`8J%MOi!O6Ag!+&TxH0(b#O_Z5u@T?IHwaVvB zu#>Sfo1%D!W~UmhFqPD>)k}r9KQCeHXd{-TU^%*OL1*!L2%UkfcSY=;mzq$2U*m-6*~(tU(TdYBeIi0)`PMcFO&zx(`nfrE{w z!qhM)0zwR$8LCu3#Mc6Kh%_zxdP*}LxIFh0o!Esn#^-C0YDf| zvqmq@jX|T#bIP`xAV3aM0Tx+Dq5UCZvLO`LdhW{Tb{|~;hY;AsH}wdAF;-5UDsF{+ zqGGlD@LF~~C$c;q3mLpW16iBVmmrQ^ErLbpxx`kfebb3>u?VknU+O0?%qnzXjEEYzWe=5as3?yxKR#S8fmLX|5mT>xz;jih8{RFwZ zs|-+KGdJ&Nsywxwr+`cmnu6rduKd}5@54HwD$D$f=5EEt|7R<`!`amcnO&Z@a>;dY z0qc1y3+0wxc4BSx3Y_DPL46@R8g`A(Ns>M1JBy#aVKKL!f0}i)+RQ z6#}y$?(SCagES?{hIYo3cc!OBY#EBkjuq|N06Z6HVCB#zknAf^)dPQpq$dx$PMTnX zattkwd(@Si-TjGo{rf!t#45Y}uU9X`5Yz|=Vq{g7X#nIB)KFXr2k&cXT5ov*OE9#U z%UiMpZ{*=G*oLns4}8;6`d8rxh7dw4u--NRCk8rr5j1s_6tc1R9*q-qGZC3oumrXJ~A)nvYep?}zXlYu{Q?BP~-@Atob})%X6deJcJ!;WMkEYUYs< z;XEC)19hi9%WE*nuP}-OziMygf$L>I6ZV~qkVl_{a9V9u!PUg3*uxID4Q&B;E)NTY z59@|g%(I0B$Nk;9cFj@TlzO{#9|2U)T^M(B1*vN>ykvPXd>`Ua1amk?xS3FBak8Y_ z8Rw%d-Uw z(+ix2=I>o!Ti=zhDyC4hYUTgtr>o3M>gUXdXF}E%F!L~s0^i0W zjX(>#OJ(fa_VnIFxne#$15G6dLtjSUu_fP7%Jvu)4?&Yuo#+8r%KweyK9-T|`*b&F zirr~oUjuWR0L5xK3q?_S->s`%9Ll)g84EP%kLxc`bz%&NPLA`JOQ9qoUrj9^EM=U3ABbVL7qtH|~0@xmC^_TD+b!5Lx2#=#vD*1OMU5V*7_GDcru70%0l7D%=)Zu5D= zPL_XR)!yBd*R-!g9-&esBR1PMfaC}pOMg9=VbKbgr-K$Af!1_0s#y^Xd@-3ypL6ba zZyx>9IOAMNNDi_~-*$)(>hR}<`y{Rc%YQ>sL5A2Y5cpQ8if;ApnF&;MA24A69Z|-X zxfNHI`ebzJftD53=12R*|2SguBOP(XGkADOFq_zV{fL^%`I4+q6r_lg{-4%bRadS)2V6Gk)(YLwu z=kCA%f00+f|C_x^>y?6EMLgrq0u+tijXA(zCEOk%GX;WMg;rCQLnvz~1MNW3zZh%^#@1bW%A; zWR$4<28oOSuPGwPH0aOz82$nRVr0d&^RpG5iOK11<0fPvw5e+zW8M;>_#cn9(N96R z*!Yg;|N1n&lK=5(^BNHxF{ZGv2CO(9lO-YpKZ~S-v(7<*yA%|E8^OJd5&~t})g6Qw z|9*%j`T)fGloCzK!+hSq3H30-Db^I0@tnWx1PZ(UI0V)nDE`~=IVmV8P*N0{QrbFO zGdDCC90;_l?cdMu_V{1Qu8FjQ8QjSQ%g>abw_-7|Bf$JH%c*3PA@OY{0tlYa!K!OZ zF!7>&Z?8{oAvvwMKU*P=u0-Ly>eu%x9i9o3ri2Ew4}S$(lui4sjRa#J)dUOpk~a&E zvEmuJ}dU z;=$b6X93ARHDvng!8E+pheRsxMAIPhJSfc-l^sTO^=NSQIKlMx<2#$zc|3-F9kT3( z!|)cXb7HVLO1*FEe=>Y9C&RbVvD#R%uyzNpPy)#=AiHDRI8(Gh<#2K%8kc6;0%C5& z%GLs(1yvIDI9(ds{$WlD>5fn@@cJ^Z@#ER2>@NcdiE#r6DW_OS0Fx+-qzO_6-(~+G znhkd?IpJ~QCxM}PMoI*2g$)*D7(xxdGO@nP6`0!ybqRcHtrCR-KXFvY=RF8MZv;MX zEdiTY%o>w{0n2slZ%lcB{N7l~?%a=R z%;$IQW`|zKouV%L?*TFHg9LM0cxe#ewj*w%0I9shLPnPjccaEMB+Lm&O)k^%CTUCW zx`qB6lc;`opqA-bO2Wap25lk>(_gi&>_hmJ#RuqNYCOS^6v(80bAP2DT0ppb|5rZA zb0wZ3Tp(KWE%BoCjRTL2rUnljM`-2x82&KPB&oM3+1su4h(^O-STEgPOfiMF)P3^e z2l7FBcaQ$aDxW!36L4SSSm)D2r!5FfE6~JmoWXj`j7F@NjR}JcC{Qz6BpLtU-`xVK zrstC{25SlHQ895V&Y=_w=XfLc8NgeJW)ijiXr5y;G-L3TaYj1 z_ua-MQJ83Z8aDi21|G0~8C0Am8%?U*=^r-zChQf8+({qzd>(Zs-@C0>pR6qNW}JFxN^fI(EB>yWEm2Ri>D^H!p>m1c?k=$|{pjOA z9BkBBL~;#Q`H=UAnfkR<#W*i^a0#_i&C30@)ofwKALsj9+*+nEa>OB2WhA^3sJwy0 zssW6-{t_kC$>rKtqoQ*`KnVixsC&yl4?%ay-@2obZz^z%VbwZpD)KhaORH~r*bI-eP+60d`>$F1F?)A8&ZO{q9I!?N3>Cm zyGi#`5qw++eB6DM-)oCzs&(KW%W3Pmak%bj#2XXingi;(_FW8Q?*xD453*qm{XROb zM5VWmCfXzFRq^XU*g?s3=m@k`_uVoX(}MM}7cj;jU`8jThrYsvUo|k{Q29m3((x*e zAPfIBoF$hm@2vQJWtnL|-0@O$$7%b~is=>|`#vnd|P>=$ekByPP9JT^ck9@y5Yc*S|V{-a5zZ6%S3mRq2o6NDH+gXeQ zCy7@R%x~%hw)f!Y9aY2x(oM1qk?h?A5X3QY#7(~ar5X4eM0AwS;4WciFrr&Ez8-ea zG#y$6HGyJi0Z}d$Q6)_nKPy6@SlJ&glG82yM=GMZP;2n@nabFbBegRJkmk0E5E@6V z3pRW1&1>m|K3<;NmQ${RnGqElGD&5O*pQ;s}Gf@VD={G^u}=a5O|Tvju7pvQfQ2He(4}3^!X{qNfl3 zpe&kRJTBW8_2c}tkF{H$wtFmmREjzrDVOSey46#dCo8FM_hNM$S*tPA`TF9_IbdGc z^JwRp0tDRVR~x-iQug>#yL~gUbJ?U*3h02kfJ(D_l|xHIL*|BytA6c*s7qA&S|#!) zmrdV4Zjw5THNGY;M7`fv{ zar<%R3L`J8a#vFhn82lnrc2cpoTF%AA(8XHAkrh%12U(6eIP(&V8Dj-qpeuTRLco$ z)IO`8Ehvg?S4Q1En_=Me$4tDt(3Yh>hgEG*D(qJr2BeG*6GWveCeyX3-(zdUl4G@v zzB0}k6d`;Vh5D`OFgfzD0jWHf5-K{wb--m>;RkGZJ)aYj`@~4N?1&Qt2g7fS1Whu@ zvB`_TX#2zS`U^$YzeS1@00*Y>{1OMp^`xSOhAb(NLZJ9P7)2&{nd&NDGz7&iA!>Ex zGN7$e6{6-A8g$L8n;i!-RWt0*m8G5e$mgc@9ejF4J6n#!n zh>5O2H$nHJ26r4q3^$d-zQ?;R+hz_OdNarKHdIhgUQ_NPZ8}v4rXvwezk?wHAMQR^ z+j<8Ec;d;_qj2H}tBtpM3i`UUXQLQ8Kd^>eQB(dayHtcwC8nsUyMn2MzG6PNPre5h zAC3_antcHAe{ly=&x`&UtdD|5?Vw7R?@KSRoO+Haqg3Ey{KTH-W9}xW3`1^LM8^Ur z2^5!yDTG8ET@w9V~TiT8tQIRaibt<{CmzYEom}DUm)}qKt?E; zPcZoG3Do&+XJ%%Og@7MMYPqBSPw;vJwOc>b zv9b{z4@J^mH0>7WmLP|Z6q{g;$bdFI?%AYgL6e`ruZX`c$j`^B7?l^xzx7AmjKWs; z$&~qo#p&^*NfZ%_FOCp+0sSQ}tfYn%dx&j7z(=_M1KdmjPZ}n&x~RdinHe=9e-5@* znfKU2?w`0(;8b1`!bQx;b4QwEl@KZ0(%=-kfU9UK2cEQHe-XBfr+HZ5QdbLg(inp_ z0z!Uh208+wdn^PMIwNm^^a=X|wjS$ho*cRbHZg4 z5kiKvpJ$BogpR9H6)lB^K32?UUrtkqZ~1h#)No{Rt5HF{biJ`CEKOGc{NOkx=Db9JHi}j6jCbYax?u>R!VLOe$LD% z1Y3cb+Usuc&kQ%!D9vG`F$dPegQ( zyR;o6Q^si7#RIlt+)D8hikb3FFSz1H-5++Rsss;4D~ok8XZ&4pW8TtB5DRVI3P)h6 zMxT5V={ZXnNis(od0mCE5p~c%9lC3K;+5*mK|) ze;r8pbwA)!)1qIm5md(*bsy1Td9tz*?o-{DRy3e0>aouN~|uk$#B_9hm| zK2jy1^XOy5zwef~@{|er7C|ec5abD)Cn~OX(?{XM+s|m<>aYbrePXUIdF|ae+U%8s zqck<>$V)!)fpeugU&C^3-{2JT9TVlYxgGD z(B67F@z&$J-qtBG3n64T%*lQKr<)h!gl;^$#aGepDZ7QmWDMLtPd&!H?m;C;c{)4X z+mmvnVLRhF;`W-rARJ;zYc%kwfO=4%6)*&c81Dwpw@ys<5%7?Z3 z@uPS_CL-mmD17mn&yAnq!=NP)MB2y`2dipDf!U_C& zpnE#!c296&n^Jk$*~#M<*ftM~3cHv#uF1Sq?5}E*mmbNH$G|JOd;%Y{oe1o2O>ZSR zo2=U@?r-w83p=k~I_(eWgx*~J`xG%7JU9?iMi&B)7kT9FYBZ#aW5IZ+E0>SyW5yhg zt-zEk!I|Nhc{ZK*#k6iIMqlDF=&zk-3AHe(3d;)~T-|wW_|}(PobBw$qR$4-?b*P^ z=QW+$>=)Al4yD7zKTc0FGPBvfir~vL(Z$lnHax(;Uoe$()rVY=>|?iWbRd9xbz3jd zh3%61X}4x|LZJIKtDc|Zw|7iPM-RFCS!Qaw+ETTt@8BEIR%+pPxi){TxVdy=f0MgX ztUKl%W8QP{l9agmTRQL}iR$6u?kD*b=3!Fo+jqbEfEr@Z@2D`=dQ9mL<7MCL5AZ(iR5s%hS3^X1T=$g|kt=hQ zk`Dv!ypu|WlG$AQSNARgY#2{m7Zn-xOjy{6o3z*vKD2{j@fvHj$Qm$k-yB=Z{|T>bkap0fvwiNy(cAX(Wai z5T#SPQ3L_$l02k{ij1UmHw;KOC?MS>jr5R`LkN6_`+1-D`+ncQ^V|FET6?YQy4E^p zLba3q>fvvq6~i}{rfqCSaIwceVBvLAOrdOxUzQYVU^Y77H(a4po5~@hyT(nk>o*Uq z-{rC#9XJ?>*bRj$^yrCIF$50FHB>SLLFB?cuP;;@MAuCfc2(r}Z>2YHcHpL!$pv%q z=&~Xi&iDkNV2<>s1eM~aJ{}<@0ActmFsSx}gu+jLPHXmw2QI^&I9qUDp(aTfoz&a6 z#22*>-}m*lsXFQCwdI-?xrT7W(H`N=(T$V_vEdusxsClGKO_v~8eimujy!FTy~HTu zLjbgYMk#qHOnQy!D?<$491PB575T&LL63al$K~`LmXTmX>#THbNhLs^N49mi_A%{) z2%xPwy?hKxh(%5Y#moxZd+4IyHAY~<-1D^10qjG2M~btH4c<=lJBf2s-|{u)<9>Gz zPytdDFd*6ZbI+HN_q3z@zA@2d?T7dwo9@`ppm>U!RG*F5!}ut`z$`X&xlSgpG7z3-hyXAtI7VjL4C=SnpNaPlXUyddWQ$pG^1;RKIo{}7Q3)}%?EhhRfL=K1K+Y6R^c!icWjp) zx3|3?kmC>+9ggu0tW9*$4dd+6qwi73CtSY#gu>zkZ9wSbg=O_u%`sC^WFAB++h+M# zOuhe)t_o%&WMZCp*m>^EK-UR?d_`C3K#iZO`cS#1(S zadIHd^_sE%AXCQS<54bFW|Lao_fr~R+))enMb_1LpUM3pCr*{W7?iT#TRaOQut7(D zFW8R|bmUL(9C?q&18^#4IN(%_)UJ(knz9Ocv3{Lnqo>jsDoNEyjIj3^nBps}eEv5^~+i23(meK0szWCJ{XeJ?jUt}=k<{6|;UvP;+J zbFkCz)3;Iq#$^dzZRUyjHIxjP=5<{)l+l=&5{Y_slrJzpB-Ynarel^R8q`zrVDcq~ z)>Cp}CMK5EQwm`6Coa}g@?vV&5jIdVVgVPcO=3$$1tIBD{xTQm*C{FeJ5?=lBsXmF z{Y!X!o$HLqmh>~{mo`a0Z;mkMu}*GakgZ83L(&a*sI1`@`rJ4Caq9|j){w{_X+=y3=mC$>8mb*Fev={((r zXy*y7cOMs+GdwpthE9f;&hrfQO=8*=Yo=G4E}UFV1n)F4bIx3+#A73262KN;!ox5U z>+u+r!_OuMj6T8z4F4{pDoG}d3%kZWujuyNhr#5FZ9aB7d+R7QqDI0z+!=^b?O;)& zsdqesE>)#dx%iGgw6my{X0t|kyzS(&v~u1TL&f8EYNPX=@l9;H{6|*YUPw|ylwH+R zXjeGz0?*JGIG+!)8tjSmfQI=WPZj4|_I#XJ_Aat!bZ(|6Q`1y3l3g@SnDdeKsJSa; z8S(q)lA1PEtc+_YYk@(@1?$sa)E{&f+VXx4G#J>zsFj##1rX1es^TAMa>Y*Jgj$D{ zg0Bktf`jx*sXI?o(br;L2XGVL{5o9b5DRoZV ziNwu1Idfi-U~#?l0+0M4my#6pcqrnI7RW^gO94Fs)2Upqrp{(<}!h(7MpvBIyISngEURniS;= zsrOS%kMD;J-R$)xgfY1>0o4h5RrL}ET82FjS~g6z=@I!AzG{|2s*^7vP4h@?BKhd? zn-+PfH8BP!9|1-j$y$PBUuMzpBo;ZTn|is#v@Vnd0pH|!wVzR|jI+F?mm7U%Jr;Ts zf|9#|rvu!NzJI=2*NNfb$5pzORg~~PZ9GACrVsosikw&L*yQSWOSYaQvA*W__3Ub6 z_7QlrWlHn8=I7yTLCfRM7VeL8iQhBoA9qQnaU5$)e&yHiEuMpPCU}VW7M?oKN{sD? zyOWX=w|$YrihvlUIOcJa3`Hc6+H%U*Zi?FaZ3h9(aUXuOCKVUBP?m_KkQ{3S2=u3Z zdX~4g#O;w=ri{X1RpJs-Lg+9(sVUQarUKo@;liIO1B+#fA%aSF$%ErB>Q&6oz0R)* zcDu8V4xJ@J?o-sCa!IRx0OKurPmpKg+Q<={R{rrWk!{B|{N9*W%DJ1knUsy0IbE=4 z5iY>8A`p9e8T-BOwIk0%(wdx3Oa**a3`7gTL!RyTUzYlDbq?ARoyD*8p}A}^9IB`F zg-&8>d)=8o{y4wXX;<^@krR+sAnobQV;lKvyPfF;h2#R;?vMA??+r`bobNkE;EJ9) zs(9b#+t9Nr<9|S>l2;R3FH98_=&PlsX4gc6^etTNnL+{6%y&9>4@EinGa2mAnPzojzI zYzj#aiABR2lh1nPlv)UQM#