diff --git a/docs/MANUAL.md b/docs/MANUAL.md index 914f87c..cea8720 100644 --- a/docs/MANUAL.md +++ b/docs/MANUAL.md @@ -93,8 +93,8 @@ Toma los siguientes parámetros: - **portal_url**: URL del portal de CKAN de destino. - **apikey**: La apikey de un usuario del portal de destino con los permisos para crear el dataset bajo la organización pasada como parámetro. - - **catalog_id** (opcional, default: None): El prefijo que va a preceder el id del dataset en el portal destino, - separado por un guión bajo. + - **catalog_id** (opcional, default: None): El prefijo que va a preceder el id y name del dataset en el portal + destino, separado por un guión. - **demote_superThemes** (opcional, default: True):Si está en true, los ids de los themes del dataset, se escriben como groups de CKAN. - **demote_themes** (opcional, default: True): Si está en true, los labels de los themes del dataset, se escriben como diff --git a/pydatajson/ckan_utils.py b/pydatajson/ckan_utils.py index 9f68692..043130e 100644 --- a/pydatajson/ckan_utils.py +++ b/pydatajson/ckan_utils.py @@ -21,7 +21,7 @@ def map_dataset_to_package(catalog, dataset, owner_org, catalog_id=None, package['extras'] = [] # Obligatorios package['id'] = catalog_id+'_'+dataset['identifier'] if catalog_id else dataset['identifier'] - package['name'] = title_to_name(dataset['title'], decode=False) + package['name'] = title_to_name(catalog_id+'-'+dataset['title'] if catalog_id else dataset['title']) package['title'] = dataset['title'] package['private'] = False package['notes'] = dataset['description'] diff --git a/tests/test_ckan_utils.py b/tests/test_ckan_utils.py index 83a7697..12c6d16 100644 --- a/tests/test_ckan_utils.py +++ b/tests/test_ckan_utils.py @@ -22,18 +22,19 @@ def setUpClass(cls): cls.dataset_id = cls.dataset.get('identifier') cls.distributions = cls.dataset['distribution'] - def test_catalog_id_is_prepended_to_dataset_id_if_passed(self): + def test_catalog_id_is_prepended_to_dataset_id_and_name_if_passed(self): package = map_dataset_to_package(self.catalog, self.dataset, 'owner', catalog_id=self.catalog_id) self.assertEqual(self.catalog_id + '_' + self.dataset_id, package['id']) + self.assertEqual(title_to_name(self.catalog_id + '-' + self.dataset['title']), package['name']) - def test_dataset_id_is_preserved_if_catlog_id_is_not_passed(self): + def test_dataset_id_and_name_are_preserved_if_catalog_id_is_not_passed(self): package = map_dataset_to_package(self.catalog, self.dataset, 'owner') self.assertEqual(self.dataset_id, package['id']) + self.assertEqual(title_to_name(self.dataset['title']), package['name']) def test_replicated_plain_attributes_are_corrext(self): package = map_dataset_to_package(self.catalog, self.dataset, 'owner', catalog_id=self.catalog_id) - plain_replicated_attributes = [('title', 'title'), - ('notes', 'description'), + plain_replicated_attributes = [('notes', 'description'), ('url', 'landingPage')] for fst, snd in plain_replicated_attributes: self.assertEqual(self.dataset.get(snd), package.get(fst))