Skip to content

Commit

Permalink
primera corrida de pep8
Browse files Browse the repository at this point in the history
  • Loading branch information
lrromero committed Aug 13, 2018
1 parent 7e113e5 commit b973c88
Show file tree
Hide file tree
Showing 24 changed files with 745 additions and 464 deletions.
43 changes: 23 additions & 20 deletions pydatajson/ckan_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def map_status_to_catalog(status):
for status_key, catalog_key in iteritems(catalog_mapping):
try:
catalog[catalog_key] = status[status_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en el endpoint de status. No se puede completar
catalog['%s'].""", status_key, catalog_key)
Expand All @@ -114,7 +114,7 @@ def map_status_to_catalog(status):
for status_key, publisher_key in iteritems(publisher_mapping):
try:
catalog['publisher'][publisher_key] = status[status_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en el endpoint de status. No se puede completar
catalog['publisher'['%s'].""", status_key, publisher_key)
Expand Down Expand Up @@ -156,11 +156,11 @@ def map_package_to_dataset(package, portal_url):
for package_key, dataset_key in iteritems(dataset_mapping):
try:
dataset[dataset_key] = package[package_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en el endpoint 'package_show' para el package '%s'. No
se puede completar dataset['%s'].""",
package_key, package['name'], dataset_key)
package_key, package['name'], dataset_key)

publisher_mapping = {
'author': 'name',
Expand All @@ -172,11 +172,11 @@ def map_package_to_dataset(package, portal_url):
for package_key, publisher_key in iteritems(publisher_mapping):
try:
dataset['publisher'][publisher_key] = package[package_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en el endpoint 'package_show' para el package '%s'. No
se puede completar dataset['publisher']['%s'].""",
package_key, package['name'], publisher_key)
package_key, package['name'], publisher_key)

contact_point_mapping = {
'maintainer': 'fn',
Expand All @@ -188,11 +188,11 @@ def map_package_to_dataset(package, portal_url):
for package_key, contact_key in iteritems(contact_point_mapping):
try:
dataset['contactPoint'][contact_key] = package[package_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en el endpoint 'package_show' para el package '%s'. No
se puede completar dataset['contactPoint']['%s'].""",
package_key, package['name'], contact_key)
package_key, package['name'], contact_key)

# Si existen campos extras en la información del package, busco las claves
# "Frecuencia de actualización" y "Temática global" para completar los
Expand Down Expand Up @@ -221,7 +221,7 @@ def add_temporal(dataset, package):
logger.info("""
Se encontro mas de un valor de cobertura temporal en 'extras' para el
'package' '%s'. No se puede completar dataset['temporal'].\n %s""",
package['name'], temporal)
package['name'], temporal)
elif len(temporal) == 1:
try:
dataset["temporal"] = temporal[0]
Expand Down Expand Up @@ -256,12 +256,12 @@ def add_superTheme(dataset, package):
logger.info("""
No se encontraron valores de temática global en 'extras' para el
'package' '%s'. No se puede completar dataset['superTheme'].""",
package['name'])
package['name'])
elif len(super_theme) > 1:
logger.info("""
Se encontro mas de un valor de temática global en 'extras' para el
'package' '%s'. No se puede completar dataset['superTheme'].\n %s""",
package['name'], super_theme)
package['name'], super_theme)
else:
try:
dataset["superTheme"] = [SUPER_THEMES[super_theme[0]]]
Expand Down Expand Up @@ -296,12 +296,12 @@ def add_accrualPeriodicity(dataset, package):
logger.info("""
No se encontraron valores de frecuencia de actualización en 'extras' para el
'package' '%s'. No se puede completar dataset['accrualPeriodicity'].""",
package['name'])
package['name'])
elif len(accrual) > 1:
logger.info("""
Se encontro mas de un valor de frecuencia de actualización en 'extras' para el
'package' '%s'. No se puede completar dataset['accrualPeriodicity'].\n %s""",
package['name'], accrual)
package['name'], accrual)
else:
try:
dataset["accrualPeriodicity"] = FREQUENCIES[accrual[0]]
Expand Down Expand Up @@ -349,17 +349,20 @@ def map_resource_to_distribution(resource, portal_url):
for resource_key, distribution_key in iteritems(distribution_mapping):
try:
distribution[distribution_key] = resource[resource_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en la metadata del 'resource' '%s'. No
se puede completar distribution['%s'].""",
resource_key, resource['name'], distribution_key)
resource_key, resource['name'], distribution_key)

if 'attributesDescription' in resource:
try:
distribution['field'] = json.loads(resource['attributesDescription'])
except:
logger.exception("Error parseando los fields del resource '%s'", resource['name'])
distribution['field'] = json.loads(
resource['attributesDescription'])
except BaseException:
logger.exception(
"Error parseando los fields del resource '%s'",
resource['name'])

url_path = ['dataset', resource['package_id'], 'resource', resource['id']]
distribution["accessURL"] = urljoin(portal_url, "/".join(url_path))
Expand All @@ -386,10 +389,10 @@ def map_group_to_theme(group):
for group_key, theme_key in iteritems(theme_mapping):
try:
theme[theme_key] = group[group_key]
except:
except BaseException:
logger.exception("""
La clave '%s' no está en la metadata del 'group' '%s'. No
se puede completar theme['%s'].""",
group_key, theme['name'], theme_key)
group_key, theme['name'], theme_key)

return theme
6 changes: 3 additions & 3 deletions pydatajson/ckan_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def map_dataset_to_package(catalog, dataset, owner_org, catalog_id=None,

spatial = dataset.get('spatial')
if spatial:
serializable = type(spatial) is list
serializable = isinstance(spatial, list)
append_attribute_to_extra(package, dataset, 'spatial', serializable)

contact_point = dataset.get('contactPoint')
Expand Down Expand Up @@ -102,10 +102,10 @@ def _get_theme_label(catalog, theme):
"""Intenta conseguir el theme por id o por label."""
try:
label = catalog.get_theme(identifier=theme)['label']
except:
except BaseException:
try:
label = catalog.get_theme(label=theme)['label']
except:
except BaseException:
raise ce.ThemeNonExistentError(theme)

label = re.sub(r'[^\wá-úÁ-ÚñÑ .-]+', '',
Expand Down
8 changes: 5 additions & 3 deletions pydatajson/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,9 @@ def remove_distribution(self, identifier, dataset_identifier=None):
(not dataset_identifier or
dataset["identifier"] == dataset_identifier)):
dataset["distribution"].pop(index)
logger.info("Distribution {} del dataset {} en posicion {} fue eliminada.".format(
identifier, dataset["identifier"], index))
logger.info(
"Distribution {} del dataset {} en posicion {} fue eliminada.".format(
identifier, dataset["identifier"], index))
return

logger.warning("No se encontro la distribucion {}.".format(identifier))
Expand Down Expand Up @@ -635,7 +636,8 @@ def generate_datasets_report(
catalog_ids.append(catalog.get("identifier", ""))
if isinstance(catalog_ids, string_types + (dict,)):
catalog_ids = [catalog_ids] * len(catalogs)
if not catalog_orgs or isinstance(catalog_orgs, string_types + (dict,)):
if not catalog_orgs or isinstance(
catalog_orgs, string_types + (dict,)):
catalog_orgs = [catalog_orgs] * len(catalogs)
if not catalog_homepages or isinstance(catalog_homepages,
string_types + (dict,)):
Expand Down
6 changes: 4 additions & 2 deletions pydatajson/documentation.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ def dataset_to_markdown(dataset):
"""

if "distribution" in dataset:
distributions = "".join(map(distribution_to_markdown, dataset["distribution"]))
distributions = "".join(
map(distribution_to_markdown, dataset["distribution"]))
else:
distributions = ""

Expand Down Expand Up @@ -65,7 +66,8 @@ def distribution_to_markdown(distribution):
"""

if "field" in distribution:
fields = "- " + "\n- ".join(map(field_to_markdown, distribution["field"]))
fields = "- " + \
"\n- ".join(map(field_to_markdown, distribution["field"]))
else:
fields = ""

Expand Down
12 changes: 8 additions & 4 deletions pydatajson/federation.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,9 @@ def remove_harvested_ds_from_ckan(catalog, portal_url, apikey,
remove_dataset_from_ckan(harvested_id, portal_url, apikey)
logger.info("{} eliminado de {}".format(harvested_id, catalog_id))
except Exception:
logger.exception("{} de {} no existe.".format(harvested_id, catalog_id))
logger.exception(
"{} de {} no existe.".format(
harvested_id, catalog_id))


def remove_datasets_from_ckan(portal_url, apikey, filter_in=None,
Expand Down Expand Up @@ -128,8 +130,9 @@ def remove_datasets_from_ckan(portal_url, apikey, filter_in=None,
for dataset in search_result['results']]
start = 500
while search_result['count'] > start:
search_result = ckan_portal.call_action('package_search',
data_dict={'q': query, 'rows': 500, 'start': start})
search_result = ckan_portal.call_action(
'package_search', data_dict={
'q': query, 'rows': 500, 'start': start})
org_identifiers += [dataset['id']
for dataset in search_result['results']]
start += 500
Expand Down Expand Up @@ -265,7 +268,8 @@ def harvest_catalog_to_ckan(catalog, portal_url, apikey, catalog_id,
catalog, owner_org, dataset_id, portal_url, apikey, catalog_id)
harvested.append(harvested_id)
except Exception as e:
msg = "Error federando catalogo: %s, dataset: %s al portal: %s\n" % (catalog_id, dataset_id, portal_url)
msg = "Error federando catalogo: %s, dataset: %s al portal: %s\n" % (
catalog_id, dataset_id, portal_url)
msg += str(e)
logger.error(msg)
errors[dataset_id] = str(e)
Expand Down
3 changes: 2 additions & 1 deletion pydatajson/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,8 @@ def sheet_to_table(worksheet):

def string_to_list(string, sep=",", filter_empty=False):
"""Transforma una string con elementos separados por `sep` en una lista."""
return [value.strip() for value in string.split(sep) if (not filter_empty or value)]
return [value.strip() for value in string.split(sep)
if (not filter_empty or value)]


def add_dicts(one_dict, other_dict):
Expand Down
6 changes: 4 additions & 2 deletions pydatajson/indicators.py
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,8 @@ def _generate_status_indicators(catalog, validator=None):
try:
summary = generate_datasets_summary(catalog, validator=validator)
except Exception as e:
msg = u'Error generando resumen del catálogo {}: {}'.format(catalog['title'], str(e))
msg = u'Error generando resumen del catálogo {}: {}'.format(
catalog['title'], str(e))
logger.error(msg)
return result

Expand Down Expand Up @@ -388,7 +389,8 @@ def _generate_date_indicators(catalog, tolerance=0.2, only_numeric=False):
dias_ultima_actualizacion

except Exception as e:
msg = u'Error generando indicadores de fecha del catálogo {}: {}'.format(catalog['title'], str(e))
msg = u'Error generando indicadores de fecha del catálogo {}: {}'.format(
catalog['title'], str(e))
logger.error(msg)
return result

Expand Down
26 changes: 15 additions & 11 deletions pydatajson/readers.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def read_catalog_obj(catalog):
return catalog
else:
return pydatajson.DataJson(catalog)
except:
except BaseException:
return pydatajson.DataJson(catalog)


Expand Down Expand Up @@ -431,18 +431,20 @@ def read_local_xlsx_catalog(xlsx_path, logger=None):
logger)

if dataset_index is None:
logger.error("""No se encontro el dataset '{}' especificado para el campo
logger.error(
"""No se encontro el dataset '{}' especificado para el campo
'{}' (fila #{} de la hoja "Field"). Este campo no figurara en el data.json de salida.""".format(
unidecode(field["dataset_title"]),
unidecode(field["field_title"]),
idx + 2))
unidecode(
field["dataset_title"]), unidecode(
field["field_title"]), idx + 2))

elif distribution_index is None:
logger.error("""No se encontro la distribucion '{}' especificada para el campo
logger.error(
"""No se encontro la distribucion '{}' especificada para el campo
'{}' (fila #{} de la hoja "Field"). Este campo no figurara en el data.json de salida.""".format(
unidecode(field["distribution_title"]),
unidecode(field["field_title"]),
idx + 2))
unidecode(
field["distribution_title"]), unidecode(
field["field_title"]), idx + 2))

else:
dataset = catalog["catalog_dataset"][dataset_index]
Expand All @@ -463,7 +465,8 @@ def read_local_xlsx_catalog(xlsx_path, logger=None):
"dataset_keyword", "dataset_language"]
for field in array_fields:
if field in dataset:
dataset[field] = helpers.string_to_list(dataset[field], filter_empty=True)
dataset[field] = helpers.string_to_list(
dataset[field], filter_empty=True)

# Elimino los prefijos de los campos a nivel catálogo
_remove_prefixes_and_unprefixed_fields(catalog, 'catalog_')
Expand All @@ -480,7 +483,8 @@ def read_local_xlsx_catalog(xlsx_path, logger=None):
# distribución
for dataset in catalog["dataset"]:
for distribution in dataset["distribution"]:
_remove_prefixes_and_unprefixed_fields(distribution, 'distribution_')
_remove_prefixes_and_unprefixed_fields(
distribution, 'distribution_')

# Elimino campos auxiliares y los prefijos de los campos a nivel "campo"
for dataset in catalog["dataset"]:
Expand Down
15 changes: 8 additions & 7 deletions pydatajson/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,11 +309,11 @@ def get_dataset(catalog, identifier=None, title=None):
if identifier:
try:
return _get_dataset_by_identifier(catalog, identifier)
except:
except BaseException:
try:
catalog._build_index()
return _get_dataset_by_identifier(catalog, identifier)
except:
except BaseException:
filtered_datasets = get_datasets(
catalog, {"dataset": {"identifier": identifier}})
elif title: # TODO: is this required?
Expand Down Expand Up @@ -358,11 +358,11 @@ def get_distribution(catalog, identifier=None, title=None,
if identifier:
try:
return _get_distribution_by_identifier(catalog, identifier)
except:
except BaseException:
try:
catalog._build_index()
return _get_distribution_by_identifier(catalog, identifier)
except:
except BaseException:
filtered_distributions = get_distributions(
catalog, {"distribution": {"identifier": identifier}})
# toma la distribution que tenga el título único, dentro de un dataset
Expand Down Expand Up @@ -406,7 +406,8 @@ def get_field_location(catalog, identifier=None, title=None,
for distribution in dataset["distribution"]:
if (not distribution_identifier or
distribution_identifier == distribution["identifier"]):
if "field" in distribution and isinstance(distribution["field"], list):
if "field" in distribution and isinstance(
distribution["field"], list):
for field in distribution["field"]:
if (identifier and "id" in field and
field["id"] == identifier
Expand Down Expand Up @@ -448,11 +449,11 @@ def get_field(catalog, identifier=None, title=None,
if identifier:
try:
return _get_field_by_identifier(catalog, identifier)
except:
except BaseException:
try:
catalog._build_index()
return _get_field_by_identifier(catalog, identifier)
except:
except BaseException:
filtered_fields = get_fields(
catalog, {"field": {"id": identifier}})
elif title and distribution_identifier:
Expand Down
3 changes: 2 additions & 1 deletion pydatajson/time_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ def get_distribution_time_index(distribution):

def distribution_has_time_index(distribution):
try:
return any([field.get('specialType') == 'time_index' for field in distribution.get('field', [])])
return any([field.get('specialType') ==
'time_index' for field in distribution.get('field', [])])
except AttributeError:
return False

Expand Down
Binary file modified tests/results/catalog/example/catalog.xlsx
Binary file not shown.

0 comments on commit b973c88

Please sign in to comment.