From 9f422d8fd93d718bfa4cd4e0230affed7ba20e18 Mon Sep 17 00:00:00 2001 From: kentsanggds Date: Fri, 8 Dec 2023 19:23:05 +0000 Subject: [PATCH] metadata_date should be in the form YYYY-MM-DD Some of the records captured from CKAN have time info which elasticsearch will reject. --- app/models/ckan/v26/package.rb | 8 ++++++-- app/services/ckan/v26/inspire_mapper.rb | 2 +- spec/services/ckan/v26/inspire_mapper_spec.rb | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/models/ckan/v26/package.rb b/app/models/ckan/v26/package.rb index bfc17f2c5..7387a0836 100644 --- a/app/models/ckan/v26/package.rb +++ b/app/models/ckan/v26/package.rb @@ -9,9 +9,13 @@ def get(key) @package[key] end - def get_extra(key) + def get_extra(key, max_length = 0) @extras ||= hashify(@package["extras"] || []) - @extras[key] + if max_length.positive? && @extras[key].present? + @extras[key][0, max_length] + else + @extras[key] + end end def get_harvest(key) diff --git a/app/services/ckan/v26/inspire_mapper.rb b/app/services/ckan/v26/inspire_mapper.rb index 7b0dcfba0..2f8962e70 100644 --- a/app/services/ckan/v26/inspire_mapper.rb +++ b/app/services/ckan/v26/inspire_mapper.rb @@ -14,7 +14,7 @@ def call(package) harvest_object_id: package.get_extra("harvest_object_id") || package.get_harvest("harvest_object_id"), harvest_source_reference: package.get_extra("harvest_source_reference"), import_source: package.get_extra("import_source"), - metadata_date: package.get_extra("metadata-date"), + metadata_date: package.get_extra("metadata-date", 10), metadata_language: package.get_extra("metadata-language"), provider: package.get_extra("provider"), resource_type: package.get_extra("resource-type"), diff --git a/spec/services/ckan/v26/inspire_mapper_spec.rb b/spec/services/ckan/v26/inspire_mapper_spec.rb index 615b0d0aa..dd195a7cf 100644 --- a/spec/services/ckan/v26/inspire_mapper_spec.rb +++ b/spec/services/ckan/v26/inspire_mapper_spec.rb @@ -18,7 +18,7 @@ expect(attributes[:harvest_object_id]).to eq package.get_extra("harvest_object_id") expect(attributes[:harvest_source_reference]).to eq package.get_extra("harvest_source_reference") expect(attributes[:import_source]).to eq package.get_extra("import_source") - expect(attributes[:metadata_date]).to eq package.get_extra("metadata-date") + expect(attributes[:metadata_date]).to eq package.get_extra("metadata-date", 10) expect(attributes[:metadata_language]).to eq package.get_extra("metadata-language") expect(attributes[:provider]).to eq package.get_extra("provider") expect(attributes[:resource_type]).to eq package.get_extra("resource-type")