Skip to content

Commit 553a3d2

Browse files
committed
Fixing precommit
1 parent aa59f09 commit 553a3d2

File tree

6 files changed

+59
-60
lines changed

6 files changed

+59
-60
lines changed

plugins/gbif/config.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ metadata_schemas = [{'eml': 'eml://ecoinformatics.org/eml-2.1.1'}]
7171
#metadata standard
7272
metadata_standard = ['XML']
7373

74-
# Api auth
74+
# Api auth
7575
7676
api_user = mag848
7777
api_pass = stcDPwfQfrnwiQsHNMPRKV7RY

plugins/gbif/gbif_data.py

Lines changed: 42 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
#!/usr/bin/python
22
# -*- coding: utf-8 -*-
3-
import os
4-
import time
53
import datetime
6-
import requests
4+
import logging
5+
import os
76
import re
87
import sys
9-
import logging
8+
import time
9+
import warnings
10+
import xml.etree.ElementTree as ET
11+
from concurrent.futures import ThreadPoolExecutor
1012

13+
import geopandas as gpd
1114
import pandas as pd
1215
import pycountry
13-
import geopandas as gpd
14-
from shapely.geometry import Point
16+
import requests
1517
from dwca.read import DwCAReader
16-
import xml.etree.ElementTree as ET
17-
18-
from concurrent.futures import ThreadPoolExecutor
18+
from shapely.geometry import Point
1919

20-
import warnings
2120
warnings.filterwarnings("ignore")
2221

2322
logging.basicConfig(
2423
stream=sys.stdout, level=logging.DEBUG, format="'%(name)s:%(lineno)s' | %(message)s"
2524
)
2625

2726
# Configura el nivel de registro para GeoPandas y Fiona
28-
logging.getLogger('geopandas').setLevel(logging.ERROR)
29-
logging.getLogger('fiona').setLevel(logging.ERROR)
27+
logging.getLogger("geopandas").setLevel(logging.ERROR)
28+
logging.getLogger("fiona").setLevel(logging.ERROR)
3029

3130
logger = logging.getLogger(os.path.basename(__file__))
3231

32+
3333
def gbif_doi_search(doi):
34-
"""
35-
Realiza una búsqueda en GBIF utilizando un DOI y devuelve la información del conjunto de datos.
34+
"""Realiza una búsqueda en GBIF utilizando un DOI y devuelve la información del
35+
conjunto de datos.
3636
3737
Args:
3838
- doi (str): El DOI (Digital Object Identifier) del conjunto de datos que se va a buscar.
@@ -55,8 +55,8 @@ def gbif_doi_search(doi):
5555

5656

5757
def gbif_download_request(uuid, timeout, api_mail, api_user, api_pass):
58-
"""
59-
Realiza una solicitud de descarga de datos de ocurrencias desde GBIF y devuelve el estado de la solicitud.
58+
"""Realiza una solicitud de descarga de datos de ocurrencias desde GBIF y devuelve
59+
el estado de la solicitud.
6060
6161
Args:
6262
- uuid (str): El UUID (identificador único universal) del conjunto de datos para el cual se solicita la descarga.
@@ -118,17 +118,15 @@ def gbif_download_request(uuid, timeout, api_mail, api_user, api_pass):
118118
time.sleep(10 - (time.time() - t1))
119119

120120
# Imprime el estado actual de la descarga
121-
logger.debug(
122-
f"Download Request Status: {status} [{time.time() - t0:.0f}s]"
123-
)
121+
logger.debug(f"Download Request Status: {status} [{time.time() - t0:.0f}s]")
124122

125123
# Devuelve el resultado final de la solicitud de descarga
126124
return download_request
127125

128126

129127
def gbif_doi_download(doi: str, timeout=-1, auth=None):
130-
"""
131-
Busca un conjunto de datos en GBIF usando un DOI, realiza una solicitud de descarga y descarga los datos.
128+
"""Busca un conjunto de datos en GBIF usando un DOI, realiza una solicitud de
129+
descarga y descarga los datos.
132130
133131
Args:
134132
- doi (str): El DOI (Digital Object Identifier) del conjunto de datos que se va a descargar.
@@ -153,7 +151,9 @@ def gbif_doi_download(doi: str, timeout=-1, auth=None):
153151
# Genera la solicitud de descarga
154152
logger.debug("Solicitud de Descarga")
155153
try:
156-
download_request = gbif_download_request(uuid, timeout, api_mail=auth[0], api_user=auth[1], api_pass=auth[2])
154+
download_request = gbif_download_request(
155+
uuid, timeout, api_mail=auth[0], api_user=auth[1], api_pass=auth[2]
156+
)
157157
download_dict["size"] = download_request["size"]
158158
except Exception as e:
159159
logger.debug(f"ERROR Requesting Download: {e}")
@@ -180,8 +180,8 @@ def gbif_doi_download(doi: str, timeout=-1, auth=None):
180180

181181

182182
def ICA(filepath):
183-
"""
184-
Calcula el Índice de Calidad Aparente (ICA) para un conjunto de datos biológicos en formato Darwin Core Archive (DwC).
183+
"""Calcula el Índice de Calidad Aparente (ICA) para un conjunto de datos biológicos
184+
en formato Darwin Core Archive (DwC).
185185
186186
Args:
187187
- filepath (str): La ruta al archivo DwC que se utilizará para calcular el ICA.
@@ -279,8 +279,8 @@ def ICA(filepath):
279279

280280

281281
def taxonomic_percentajes(df):
282-
"""
283-
Calcula los porcentajes de calidad para la categoría taxonómica en un conjunto de datos biológicos.
282+
"""Calcula los porcentajes de calidad para la categoría taxonómica en un conjunto de
283+
datos biológicos.
284284
285285
Args:
286286
- df (DataFrame): Un DataFrame que contiene las columnas relevantes para el cálculo de la calidad taxonómica.
@@ -372,8 +372,8 @@ def taxonomic_percentajes(df):
372372

373373

374374
def geographic_percentajes(df):
375-
"""
376-
Calcula los porcentajes de calidad para la categoría geográfica en un conjunto de datos biológicos.
375+
"""Calcula los porcentajes de calidad para la categoría geográfica en un conjunto de
376+
datos biológicos.
377377
378378
Args:
379379
- df (DataFrame): Un DataFrame que contiene las columnas relevantes para el cálculo de la calidad geográfica.
@@ -413,7 +413,7 @@ def geographic_percentajes(df):
413413
except Exception as e:
414414
logger.debug(f"ERROR coordinates - {e}")
415415
percentaje_coordinates = 0
416-
416+
417417
# Porcentaje de ocurrencias con códigos de país válidos
418418
try:
419419
percentaje_countries = (
@@ -476,8 +476,8 @@ def geographic_percentajes(df):
476476

477477

478478
def temporal_percentajes(df):
479-
"""
480-
Calcula los porcentajes de calidad para la categoría temporal en un conjunto de datos biológicos.
479+
"""Calcula los porcentajes de calidad para la categoría temporal en un conjunto de
480+
datos biológicos.
481481
482482
Args:
483483
- df (pandas.DataFrame): Un DataFrame que contiene las columnas relevantes para el cálculo de la calidad temporal.
@@ -579,9 +579,8 @@ def safe_date(date):
579579

580580

581581
def is_in_catalogue_of_life(row):
582-
"""
583-
Si el valor de genus está en "Cataloge of Life", devuelve el valor de N.
584-
En caso contrario, devuelve 0.
582+
"""Si el valor de genus está en "Cataloge of Life", devuelve el valor de N. En caso
583+
contrario, devuelve 0.
585584
586585
Args:
587586
- row: Fila de un DataFrame con las columnas genus y N.
@@ -604,9 +603,10 @@ def is_in_catalogue_of_life(row):
604603

605604

606605
def hierarchy_weights(row):
607-
"""
608-
If higherClassification is not empty, returns N.
609-
Otherwise, returns N/3 for each not empty sublevel (kingdom, class/order and family).
606+
"""If higherClassification is not empty, returns N.
607+
608+
Otherwise, returns N/3 for each not empty sublevel (kingdom, class/order and
609+
family).
610610
"""
611611
N = row.N
612612
if pd.notnull(row.higherClassification):
@@ -621,9 +621,8 @@ def hierarchy_weights(row):
621621

622622

623623
def is_valid_country_code(row):
624-
"""
625-
If the countryCode column from the row is valid, return the column N.
626-
Otherwise return 0
624+
"""If the countryCode column from the row is valid, return the column N. Otherwise
625+
return 0.
627626
628627
- Column countryCode: Country codes of length 2
629628
- Column N: Number of country codes with that value.
@@ -639,9 +638,8 @@ def is_valid_country_code(row):
639638

640639

641640
def coordinate_in_country(codigo_pais, latitud, longitud):
642-
"""
643-
Busca las fronteras del país y comprueba si las coordenadas estan en su interior.
644-
"""
641+
"""Busca las fronteras del país y comprueba si las coordenadas estan en su
642+
interior."""
645643
# Buscamos el país correspondiente al código ISO alpha-2
646644
try:
647645
pais = pycountry.countries.get(alpha_2=codigo_pais).alpha_3
@@ -663,8 +661,7 @@ def coordinate_in_country(codigo_pais, latitud, longitud):
663661

664662

665663
def is_incorrect_coordinate(row):
666-
"""
667-
If the coordinates columns are not empty and not invalid returns the column N.
664+
"""If the coordinates columns are not empty and not invalid returns the column N.
668665
Otherwise, returns 0.
669666
670667
Coordinates are incorrect if one of the next conditions is true:

plugins/gbif/plugin.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,17 @@
22
# -*- coding: utf-8 -*-
33
import ast
44
import logging
5+
import math
56
import os
67
import sys
78
import xml.etree.ElementTree as ET
89

910
import idutils
1011
import pandas as pd
1112
import requests
12-
import math
1313

1414
from api.evaluator import Evaluator
15-
16-
from plugins.gbif.gbif_data import gbif_doi_download, ICA
15+
from plugins.gbif.gbif_data import ICA, gbif_doi_download
1716

1817
logging.basicConfig(
1918
stream=sys.stdout, level=logging.DEBUG, format="'%(name)s:%(lineno)s' | %(message)s"
@@ -78,7 +77,7 @@ def __init__(self, item_id, oai_base=None, lang="en"):
7877
)
7978
self.terms_relations = ast.literal_eval(self.config[plugin]["terms_relations"])
8079
self.terms_license = ast.literal_eval(self.config[plugin]["terms_license"])
81-
80+
8281
# TO REDEFINE - HOW YOU ACCESS METADATA?
8382
def get_color(self, score):
8483
color = "#F4D03F"
@@ -277,7 +276,11 @@ def data_01(self):
277276
"""
278277
# Search and download GBIF data
279278
try:
280-
auth = (self.config["gbif"]["api_mail"], self.config["gbif"]["api_user"], self.config["gbif"]["api_pass"])
279+
auth = (
280+
self.config["gbif"]["api_mail"],
281+
self.config["gbif"]["api_user"],
282+
self.config["gbif"]["api_pass"],
283+
)
281284
download_dict = gbif_doi_download(self.item_id, auth=auth)
282285
except Exception as e:
283286
logger.debug(e)
@@ -326,7 +329,7 @@ def data_01(self):
326329
<td bgcolor="#D5D5D5"> Identifiers </td>
327330
<td bgcolor={self.get_color(ica["Identifiers"])}> {ica["Identifiers"]:.2f}% </td>
328331
</tr>
329-
332+
330333
<tr>
331334
<td bgcolor="#B2B0B0"> <b> Geographic </b> </td>
332335
<td bgcolor={self.get_color(ica["Geographic"])}> <b> {ica["Geographic"]:.2f}% </b> </td>
@@ -347,7 +350,7 @@ def data_01(self):
347350
<td bgcolor="#D5D5D5"> IncorrectCoordinates </td>
348351
<td bgcolor="{self.get_color(ica["IncorrectCoordinates"])}"> -{ica["IncorrectCoordinates"]:.2f}% </td>
349352
</tr>
350-
353+
351354
<tr>
352355
<td bgcolor="#B2B0B0"> <b> Temporal </b> </td>
353356
<td bgcolor="{self.get_color(ica["Temporal"])}"> <b> {ica["Temporal"]:.2f}% </b> </td>
@@ -393,4 +396,3 @@ def data_02(self):
393396
points = 100
394397
msg = _("I'm doing nothing")
395398
return (points, msg)
396-

plugins/gbif/translations/en/LC_MESSAGES/messages.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -928,4 +928,4 @@ msgid "data_01.technical"
928928
msgstr "Download the data in Darwin Core format and analyze the information from taxonomic, geospatial and temporal dimensions. Checks the completeness, format and integrity for all three dimensions."
929929

930930
msgid "data_01.tips"
931-
msgstr "It is highly recommeded to check data formats, especially dates and decimal coordinates. The coherence between coordinates and countries and the correct description of genus and species is important, too."
931+
msgstr "It is highly recommeded to check data formats, especially dates and decimal coordinates. The coherence between coordinates and countries and the correct description of genus and species is important, too."

plugins/gbif/translations/es/LC_MESSAGES/messages.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -985,4 +985,4 @@ msgid "data_01.technical"
985985
msgstr "Descarga los datos en formato Darwin Core y analiza la información de las dimensiones taxonómica, geoespacial y temporal. Comprueba la completitud, el formato y la integridad de las tres dimensiones."
986986

987987
msgid "data_01.tips"
988-
msgstr "Comprueba los fomatos de los datos, especialmente las fechas y las coordenadas decimales. También es importante la coerencia entre las coordenadas y los países, así como la correcta descripción de géneros y especies."
988+
msgstr "Comprueba los fomatos de los datos, especialmente las fechas y las coordenadas decimales. También es importante la coerencia entre las coordenadas y los países, así como la correcta descripción de géneros y especies."

templates/eval.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ <h2> {{ _('evaluation_for') }} <a href="{{ item_id }}"> {{ item_id }} </a></h2>
115115
</td>
116116
</tr>
117117
</tbody>
118-
118+
119119
</table>
120120
</div>
121121
</div>
@@ -124,7 +124,7 @@ <h2> {{ _('evaluation_for') }} <a href="{{ item_id }}"> {{ item_id }} </a></h2>
124124
</div>
125125
</div>
126126
</div>
127-
127+
128128
<!-- Accessible -->
129129
<div id="container-main">
130130
<div class="accordion2-container">
@@ -180,7 +180,7 @@ <h2>Accessible</h2>
180180
<tbody>
181181
<tr>
182182
<th style="background: rgba(144, 144, 144, 0.3);">{{ _('Technical feedback') }}</th>
183-
183+
184184
<td style="background: rgba(204, 204, 204, 0.3);" class="letratabla">
185185
{% for message in accessible[key]['msg'] %}
186186
{{ message['message'] }}
@@ -365,7 +365,7 @@ <h2>Reusable</h2>
365365
</div>
366366
</div>
367367
</div>
368-
368+
369369

370370
</div>
371371
<!--- Data tests --->

0 commit comments

Comments
 (0)