From 975c21ca51ee4537ff95e160c3671050db6eb5b9 Mon Sep 17 00:00:00 2001 From: Per Olav Eide Svendsen Date: Wed, 3 Jan 2024 15:46:20 +0100 Subject: [PATCH] Use display_name when explicitly provided. --- src/fmu/dataio/_metadata.py | 8 +++++++- src/fmu/dataio/dataio.py | 1 + tests/test_units/test_dataio.py | 20 ++++++++++++++++++++ tests/test_units/test_metadata_class.py | 12 ++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/fmu/dataio/_metadata.py b/src/fmu/dataio/_metadata.py index f74957fa2..801625ed5 100644 --- a/src/fmu/dataio/_metadata.py +++ b/src/fmu/dataio/_metadata.py @@ -344,7 +344,13 @@ def _populate_meta_access(self): def _populate_meta_display(self): """Populate the display block.""" - self.meta_display = {"name": self.objdata.name} + # display.name + if self.dataio.display_name is not None: + display_name = self.dataio.display_name + else: + display_name = self.objdata.name + + self.meta_display = {"name": display_name} def _populate_meta_xpreprocessed(self): """Populate a few necessary 'tmp' metadata needed for preprocessed data.""" diff --git a/src/fmu/dataio/dataio.py b/src/fmu/dataio/dataio.py index 6e740bb22..54ef5593d 100644 --- a/src/fmu/dataio/dataio.py +++ b/src/fmu/dataio/dataio.py @@ -565,6 +565,7 @@ class ExportData: content: Union[dict, str, None] = None depth_reference: str = "msl" description: Union[str, list] = "" + display_name: Optional[str] = None fmu_context: str = "realization" forcefolder: str = "" grid_model: Optional[str] = None diff --git a/tests/test_units/test_dataio.py b/tests/test_units/test_dataio.py index e4bb40026..ff0adf338 100644 --- a/tests/test_units/test_dataio.py +++ b/tests/test_units/test_dataio.py @@ -307,6 +307,26 @@ def test_content_deprecated_seismic_offset(regsurf, globalconfig2): } +def test_set_display_name(regsurf, globalconfig2): + """Test that giving the display_name argument sets display.name.""" + eobj = ExportData( + config=globalconfig2, + name="MyName", + display_name="MyDisplayName", + content="depth", + ) + mymeta = eobj.generate_metadata(regsurf) + + assert mymeta["data"]["name"] == "MyName" + assert mymeta["display"]["name"] == "MyDisplayName" + + # also test when setting directly in the method call + mymeta = eobj.generate_metadata(regsurf, display_name="MyOtherDisplayName") + + assert mymeta["data"]["name"] == "MyName" + assert mymeta["display"]["name"] == "MyOtherDisplayName" + + def test_global_config_from_env(globalconfig_asfile): """Testing getting global config from a file""" os.environ["FMU_GLOBAL_CONFIG"] = globalconfig_asfile diff --git a/tests/test_units/test_metadata_class.py b/tests/test_units/test_metadata_class.py index a951b094b..c2f614933 100644 --- a/tests/test_units/test_metadata_class.py +++ b/tests/test_units/test_metadata_class.py @@ -332,6 +332,18 @@ def test_metadata_display_name_not_given(regsurf, edataobj2): assert mymeta.meta_display["name"] == mymeta.objdata.name +def test_metadata_display_name_given(regsurf, edataobj2): + """Test that display.name is set when explicitly given.""" + + mymeta = _MetaData(regsurf, edataobj2) + edataobj2.display_name = "My Display Name" + mymeta._populate_meta_objectdata() + mymeta._populate_meta_display() + + assert mymeta.meta_display["name"] == "My Display Name" + assert mymeta.objdata.name == mymeta.meta_objectdata["name"] == "VOLANTIS GP. Top" + + # -------------------------------------------------------------------------------------- # The GENERATE method # --------------------------------------------------------------------------------------