Skip to content

Commit

Permalink
Merge 2b6486a into b17d9ca
Browse files Browse the repository at this point in the history
  • Loading branch information
FScaccheri committed Sep 13, 2019
2 parents b17d9ca + 2b6486a commit 78b6017
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 7 deletions.
19 changes: 19 additions & 0 deletions pydatajson/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -544,3 +544,22 @@ def filter_by_likely_publisher(central_datasets, catalog_datasets):
def title_in_dataset_list(dataset, dataset_list):
return (dataset.get('title'), dataset.get('landingPage')) \
in dataset_list


def fields_to_uppercase(fields):
uppercase_fields = fields.copy()

for key in fields:
lower_key = key.lower()
upper_key = key.upper()
# Veo si una key existe en minuscula y en mayuscula,
# tanto en el dict original como en la copia que devuelve
if all(k in fields for k in (lower_key, upper_key)) and \
all(k in uppercase_fields for k in (lower_key, upper_key)):
lowercase_counts = fields[lower_key]
uppercase_counts = fields[upper_key]

uppercase_fields.pop(lower_key)
uppercase_fields[upper_key] = lowercase_counts + uppercase_counts

return uppercase_fields
14 changes: 8 additions & 6 deletions pydatajson/indicators.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,20 @@
from __future__ import print_function, absolute_import
from __future__ import unicode_literals, with_statement

import logging
import json
import logging
import os
from datetime import datetime
from collections import Counter
from datetime import datetime

from six import string_types

from pydatajson.helpers import fields_to_uppercase
from . import helpers
from . import readers
from .indicator_generators import FederationIndicatorsGenerator
from .reporting import generate_datasets_summary
from .search import get_datasets, get_distributions
from .indicator_generators import FederationIndicatorsGenerator

CENTRAL_CATALOG = "http://datos.gob.ar/data.json"
ABSOLUTE_PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
Expand Down Expand Up @@ -133,6 +134,7 @@ def _generate_indicators(catalog, validator=None, only_numeric=False):
if not only_numeric:
if 'dataset' in catalog:
format_count = count_fields(get_distributions(catalog), 'format')
format_count = fields_to_uppercase(format_count)
type_count = count_fields(get_distributions(catalog), 'type')
license_count = count_fields(get_datasets(catalog), 'license')
else:
Expand Down Expand Up @@ -389,10 +391,10 @@ def _generate_date_indicators(catalog, tolerance=0.2, only_numeric=False):
if not periodicity:
continue
# Si la periodicity es eventual, se considera como actualizado
if periodicity == 'eventual':
if periodicity in ('eventual', 'EVENTUAL'):
actualizados += 1
prev_periodicity = periodicity_amount.get(periodicity, 0)
periodicity_amount[periodicity] = prev_periodicity + 1
prev_periodicity = periodicity_amount.get('EVENTUAL', 0)
periodicity_amount['EVENTUAL'] = prev_periodicity + 1
continue

# dataset sin fecha de última actualización es desactualizado
Expand Down
2 changes: 1 addition & 1 deletion tests/test_indicators.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ def test_date_indicators(self):
'datasets_frecuencia_cant': {
'R/P1W': 1,
'R/P1M': 1,
'eventual': 1
'EVENTUAL': 1
},
}

Expand Down

0 comments on commit 78b6017

Please sign in to comment.