From 845fd19b7bc467ab1cfafe19f3b2842a48a30846 Mon Sep 17 00:00:00 2001 From: amercader Date: Tue, 28 Jan 2025 13:03:24 +0100 Subject: [PATCH] Rename series dataset type for better humanization support --- README.md | 6 +++--- ckanext/dataset_series/actions.py | 4 +++- ckanext/dataset_series/schemas/dataset_series.yaml | 2 +- .../dataset_series/schemas/dcat_ap_dataset_series.yaml | 2 +- ckanext/dataset_series/tests/test_action.py | 8 ++++---- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2db0c91..81f763b 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Dataset Series can be ordered or unordered. ## How does it work? -This extension uses a custom dataset type (`dataset-series`) to define the parent series entities. These are +This extension uses a custom dataset type (`dataset_series`) to define the parent series entities. These are just datasets and can have any of the standard dataset fields defined. If the series is ordered, the only mandatory fields they need @@ -28,7 +28,7 @@ are the following (shown in the [ckanext-scheming](https://github.com/ckan/ckane ```yaml scheming_version: 2 -dataset_type: dataset-series +dataset_type: dataset_series dataset_fields: @@ -113,7 +113,7 @@ Querying the series dataset will also return a `series_navigation` link if order ```json { "name": "test-dataset-series", - "type": "dataset-series", + "type": "dataset_series", "series_navigation": { "first": { "id": "826bd499-40e5-4d92-bfa1-f777775f0d76", diff --git a/ckanext/dataset_series/actions.py b/ckanext/dataset_series/actions.py index d7845da..0802a19 100644 --- a/ckanext/dataset_series/actions.py +++ b/ckanext/dataset_series/actions.py @@ -6,6 +6,8 @@ log = logging.getLogger(__name__) + + @toolkit.side_effect_free @toolkit.chained_action def package_show(up_func, context, data_dict): @@ -17,7 +19,7 @@ def package_show(up_func, context, data_dict): ) if not for_indexing: - if dataset_dict.get("type") == "dataset-series": + if dataset_dict.get("type") == "dataset_series": dataset_dict = _add_series_navigation(dataset_dict) elif dataset_dict.get("in_series"): diff --git a/ckanext/dataset_series/schemas/dataset_series.yaml b/ckanext/dataset_series/schemas/dataset_series.yaml index 1056ca6..cc23b8a 100644 --- a/ckanext/dataset_series/schemas/dataset_series.yaml +++ b/ckanext/dataset_series/schemas/dataset_series.yaml @@ -1,5 +1,5 @@ scheming_version: 2 -dataset_type: dataset-series +dataset_type: dataset_series about: A standard CKAN dataset schema with the Dataset Series fields about_url: http://github.com/ckan/ckanext-dataset-series diff --git a/ckanext/dataset_series/schemas/dcat_ap_dataset_series.yaml b/ckanext/dataset_series/schemas/dcat_ap_dataset_series.yaml index 4573f12..289fac7 100644 --- a/ckanext/dataset_series/schemas/dcat_ap_dataset_series.yaml +++ b/ckanext/dataset_series/schemas/dcat_ap_dataset_series.yaml @@ -1,5 +1,5 @@ scheming_version: 2 -dataset_type: dataset-series +dataset_type: dataset_series about: A Dataset Series schema based on the DCAT AP v3 spec about_url: http://github.com/ckan/ckanext-dataset-series diff --git a/ckanext/dataset_series/tests/test_action.py b/ckanext/dataset_series/tests/test_action.py index 6a74d27..d0fe065 100644 --- a/ckanext/dataset_series/tests/test_action.py +++ b/ckanext/dataset_series/tests/test_action.py @@ -6,7 +6,7 @@ @pytest.fixture def series_fixtures(): - dataset_series = factories.Dataset(type="dataset-series", series_order_field="name") + dataset_series = factories.Dataset(type="dataset_series", series_order_field="name") dataset1 = factories.Dataset( name="test-series-member-1", in_series=dataset_series["id"] @@ -61,7 +61,7 @@ def test_series_navigation(series_fixtures): ) def test_empty_series_navigation(series_fixtures): - dataset_series = factories.Dataset(type="dataset-series", series_order_field="name") + dataset_series = factories.Dataset(type="dataset_series", series_order_field="name") series_dict = call_action("package_show", id=dataset_series["id"]) assert series_dict["series_navigation"]["count"] == 0 @@ -163,7 +163,7 @@ def test_series_last_dataset(series_fixtures): ) def test_series_only_dataset(): - dataset_series = factories.Dataset(type="dataset-series", series_order_field="name") + dataset_series = factories.Dataset(type="dataset_series", series_order_field="name") dataset_only = factories.Dataset( name="test-series-only-member", in_series=dataset_series["id"] @@ -189,7 +189,7 @@ def test_series_only_dataset(): def test_series_date_field(): dataset_series = factories.Dataset( - type="dataset-series", + type="dataset_series", series_order_field="metadata_created", series_order_type="date", )