From e8c90ef00b4c33e0f9a0158ed25d15087dede400 Mon Sep 17 00:00:00 2001 From: Lucas Romero Date: Mon, 30 Jul 2018 12:24:12 -0300 Subject: [PATCH 1/4] Chequeo que el valor no sea un string vacio antes de listar --- pydatajson/helpers.py | 2 +- tests/samples/lists_extra_commas.xlsx | Bin 0 -> 46868 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 tests/samples/lists_extra_commas.xlsx diff --git a/pydatajson/helpers.py b/pydatajson/helpers.py index 96fa1af..322ac65 100644 --- a/pydatajson/helpers.py +++ b/pydatajson/helpers.py @@ -235,7 +235,7 @@ def sheet_to_table(worksheet): def string_to_list(string, sep=","): """Transforma una string con elementos separados por `sep` en una lista.""" - return [value.strip() for value in string.split(sep)] + return [value.strip() for value in string.split(sep) if value] def add_dicts(one_dict, other_dict): diff --git a/tests/samples/lists_extra_commas.xlsx b/tests/samples/lists_extra_commas.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..959696c474fed3ae277bde55fbae2df7d864e743 GIT binary patch literal 46868 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 r6xTnC^ZtzH*YCBTw Date: Mon, 30 Jul 2018 14:58:05 -0300 Subject: [PATCH 2/4] Hago el filtrado de elementos vacios opcional --- pydatajson/helpers.py | 4 ++-- pydatajson/readers.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pydatajson/helpers.py b/pydatajson/helpers.py index 322ac65..bbff6bc 100644 --- a/pydatajson/helpers.py +++ b/pydatajson/helpers.py @@ -233,9 +233,9 @@ def sheet_to_table(worksheet): return table -def string_to_list(string, sep=","): +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 value] + return [value.strip() for value in string.split(sep) if (not filter_empty or value)] def add_dicts(one_dict, other_dict): diff --git a/pydatajson/readers.py b/pydatajson/readers.py index 9084fed..aed4cfa 100644 --- a/pydatajson/readers.py +++ b/pydatajson/readers.py @@ -456,14 +456,14 @@ def read_local_xlsx_catalog(xlsx_path, logger=None): # Transformo campos de texto separado por comas en listas if "catalog_language" in catalog: catalog["catalog_language"] = helpers.string_to_list( - catalog["catalog_language"]) + catalog["catalog_language"], filter_empty=True) for dataset in catalog["catalog_dataset"]: array_fields = ["dataset_superTheme", "dataset_theme", "dataset_tags", "dataset_keyword", "dataset_language"] for field in array_fields: if field in dataset: - dataset[field] = helpers.string_to_list(dataset[field]) + 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_') From 9e4d7c74ab0cd87c027235f0a4a2801a52f51863 Mon Sep 17 00:00:00 2001 From: Lucas Romero Date: Mon, 30 Jul 2018 15:02:48 -0300 Subject: [PATCH 3/4] tests de listas con comas extras --- tests/samples/lists_extra_commas.xlsx | Bin 46868 -> 46989 bytes tests/test_readers_and_writers.py | 12 ++++++++++++ 2 files changed, 12 insertions(+) diff --git a/tests/samples/lists_extra_commas.xlsx b/tests/samples/lists_extra_commas.xlsx index 959696c474fed3ae277bde55fbae2df7d864e743..fd767174240c268a2249c30b1bf71b28ebb010e6 100644 GIT binary patch delta 30720 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�PW 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 U+kZ*m;Ap_+&2%X6HGf_Ff7J?*aR2}S diff --git a/tests/test_readers_and_writers.py b/tests/test_readers_and_writers.py index d0fa3f8..b4f022a 100644 --- a/tests/test_readers_and_writers.py +++ b/tests/test_readers_and_writers.py @@ -249,6 +249,18 @@ def test_read_write_both_formats_yields_the_same(self): self.assertEqual(catalog_json, catalog) self.assertEqual(catalog_xlsx, catalog) + + def test_read_xlsx_lists_with_extra_commas(self): + # No hay valores vacíos a pesar que hay en las listas con comas + catalog = pydatajson.readers.read_catalog(self.get_sample("lists_extra_commas.xlsx")) + self.assertTrue(catalog['language']) + self.assertTrue(all(catalog['language'])) + for dataset in catalog['dataset']: + for field in ['theme', 'superTheme', 'keyword']: + # Listas no vacias + self.assertTrue(dataset[field]) + # Elementos no vacios + self.assertTrue(all(dataset[field])) if __name__ == '__main__': From 9b8f9487b449acc98c626ff5c8c78c50e42e77f4 Mon Sep 17 00:00:00 2001 From: Lucas Romero Date: Mon, 30 Jul 2018 15:09:34 -0300 Subject: [PATCH 4/4] aclaro comentario --- tests/test_readers_and_writers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_readers_and_writers.py b/tests/test_readers_and_writers.py index b4f022a..ceca8ff 100644 --- a/tests/test_readers_and_writers.py +++ b/tests/test_readers_and_writers.py @@ -251,7 +251,7 @@ def test_read_write_both_formats_yields_the_same(self): self.assertEqual(catalog_xlsx, catalog) def test_read_xlsx_lists_with_extra_commas(self): - # No hay valores vacíos a pesar que hay en las listas con comas + # No hay valores vacíos a pesar que hay listas con comas extras catalog = pydatajson.readers.read_catalog(self.get_sample("lists_extra_commas.xlsx")) self.assertTrue(catalog['language']) self.assertTrue(all(catalog['language']))