Skip to content

Commit 97428bb

Browse files
bugfix for uri and obj_ prefix
1 parent 6c01d4c commit 97428bb

3 files changed

Lines changed: 36 additions & 1 deletion

File tree

energyml-utils/src/energyml/utils/introspection.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,6 +1312,12 @@ def get_object_type_for_file_path_from_class(cls) -> str:
13121312
return parent_cls.Meta.name
13131313
except AttributeError:
13141314
pass
1315+
if hasattr(cls, "Meta"):
1316+
try:
1317+
if cls.Meta.name is not None and len(cls.Meta.name) > 0:
1318+
return cls.Meta.name
1319+
except AttributeError:
1320+
pass
13151321

13161322
return classic_type
13171323

energyml-utils/tests/test_epc.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
get_obj_pkg_pkgv_type_uuid_version,
2424
get_obj_uri,
2525
get_qualified_type_from_class,
26+
set_attribute_from_path,
2627
)
2728

2829
fi_cit = Citation20(
@@ -76,6 +77,12 @@
7677
uuid=gen_uuid(),
7778
represented_object=dor_correct23,
7879
)
80+
tr_versioned = TriangulatedSetRepresentation(
81+
citation=tr_cit,
82+
uuid=gen_uuid(),
83+
represented_object=dor_correct23,
84+
object_version="3",
85+
)
7986

8087

8188
def test_get_obj_identifier():
@@ -135,7 +142,15 @@ def test_gen_energyml_object_path():
135142
assert gen_energyml_object_path(tr) == f"TriangulatedSetRepresentation_{tr.uuid}.xml"
136143
assert (
137144
gen_energyml_object_path(tr, EpcExportVersion.EXPANDED)
138-
== f"namespace_resqml22/{tr.uuid}/TriangulatedSetRepresentation_{tr.uuid}.xml"
145+
== f"namespace_resqml22/TriangulatedSetRepresentation_{tr.uuid}.xml"
146+
)
147+
148+
149+
def test_gen_energyml_object_path_versioned():
150+
assert gen_energyml_object_path(tr_versioned) == f"TriangulatedSetRepresentation_{tr_versioned.uuid}.xml"
151+
assert (
152+
gen_energyml_object_path(tr_versioned, EpcExportVersion.EXPANDED)
153+
== f"namespace_resqml22/version_{tr_versioned.object_version}/TriangulatedSetRepresentation_{tr_versioned.uuid}.xml"
139154
)
140155

141156

energyml-utils/tests/test_uri.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
from src.energyml.utils.uri import Uri, parse_uri
5+
from energyml.utils.introspection import get_obj_uri
6+
from energyml.resqml.v2_0_1.resqmlv2 import TriangulatedSetRepresentation, ObjTriangulatedSetRepresentation
7+
8+
TR_UUID = "12345678-1234-1234-1234-123456789012"
59

610

711
def test_uri_constructor():
@@ -113,3 +117,13 @@ def test_uuid():
113117
)
114118
assert uri.uuid == "ec8c3f16-1454-4f36-ae10-27d2a2680cf2"
115119
assert uri.version == "1.0"
120+
121+
122+
def test_resqml201_uri():
123+
tr = ObjTriangulatedSetRepresentation(uuid=TR_UUID)
124+
uri = get_obj_uri(tr)
125+
assert str(uri) == f"eml:///resqml20.obj_TriangulatedSetRepresentation({TR_UUID})"
126+
127+
128+
if __name__ == "__main__":
129+
print(get_obj_uri(ObjTriangulatedSetRepresentation(uuid=TR_UUID)))

0 commit comments

Comments
 (0)