dcicutils 8.7.0.1b32__py3-none-any.whl → 8.7.0.1b33__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dcicutils/portal_object_utils.py +13 -9
- {dcicutils-8.7.0.1b32.dist-info → dcicutils-8.7.0.1b33.dist-info}/METADATA +1 -1
- {dcicutils-8.7.0.1b32.dist-info → dcicutils-8.7.0.1b33.dist-info}/RECORD +6 -6
- {dcicutils-8.7.0.1b32.dist-info → dcicutils-8.7.0.1b33.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.7.0.1b32.dist-info → dcicutils-8.7.0.1b33.dist-info}/WHEEL +0 -0
- {dcicutils-8.7.0.1b32.dist-info → dcicutils-8.7.0.1b33.dist-info}/entry_points.txt +0 -0
dcicutils/portal_object_utils.py
CHANGED
@@ -8,9 +8,13 @@ class PortalObject:
|
|
8
8
|
|
9
9
|
def __init__(self, portal: Portal, portal_object: dict, portal_object_type: Optional[str] = None) -> None:
|
10
10
|
self._portal = portal
|
11
|
-
self.
|
11
|
+
self._data = portal_object
|
12
12
|
self._type = portal_object_type if isinstance(portal_object_type, str) and portal_object_type else None
|
13
13
|
|
14
|
+
@property
|
15
|
+
def data(self):
|
16
|
+
return self._data
|
17
|
+
|
14
18
|
@property
|
15
19
|
@lru_cache(maxsize=1)
|
16
20
|
def schema(self):
|
@@ -19,12 +23,12 @@ class PortalObject:
|
|
19
23
|
@property
|
20
24
|
@lru_cache(maxsize=1)
|
21
25
|
def schema_type(self):
|
22
|
-
return self._type or Portal.get_schema_type(self.
|
26
|
+
return self._type or Portal.get_schema_type(self._data)
|
23
27
|
|
24
28
|
@property
|
25
29
|
@lru_cache(maxsize=1)
|
26
30
|
def schema_types(self):
|
27
|
-
return self._type or Portal.get_schema_types(self.
|
31
|
+
return self._type or Portal.get_schema_types(self._data)
|
28
32
|
|
29
33
|
@property
|
30
34
|
@lru_cache(maxsize=1)
|
@@ -36,7 +40,7 @@ class PortalObject:
|
|
36
40
|
@property
|
37
41
|
@lru_cache(maxsize=1)
|
38
42
|
def uuid(self) -> Optional[str]:
|
39
|
-
return PortalObject.get_uuid(self.
|
43
|
+
return PortalObject.get_uuid(self._data)
|
40
44
|
|
41
45
|
@staticmethod
|
42
46
|
def get_uuid(portal_object: dict) -> Optional[str]:
|
@@ -53,13 +57,13 @@ class PortalObject:
|
|
53
57
|
identifying_properties = []
|
54
58
|
for identifying_property in self.schema_identifying_properties:
|
55
59
|
if identifying_property not in ["uuid", "identifier", "aliases"]:
|
56
|
-
if self.
|
60
|
+
if self._data.get(identifying_property):
|
57
61
|
identifying_properties.append(identifying_property)
|
58
|
-
if self.
|
62
|
+
if self._data.get("identifier"):
|
59
63
|
identifying_properties.insert(0, "identifier")
|
60
|
-
if self.
|
64
|
+
if self._data.get("uuid"):
|
61
65
|
identifying_properties.insert(0, "uuid")
|
62
|
-
if "aliases" in self.schema_identifying_properties and self.
|
66
|
+
if "aliases" in self.schema_identifying_properties and self._data.get("aliases"):
|
63
67
|
identifying_properties.append("aliases")
|
64
68
|
return identifying_properties
|
65
69
|
|
@@ -73,7 +77,7 @@ class PortalObject:
|
|
73
77
|
return []
|
74
78
|
identifying_paths = []
|
75
79
|
for identifying_property in identifying_properties:
|
76
|
-
if (identifying_value := self.
|
80
|
+
if (identifying_value := self._data.get(identifying_property)):
|
77
81
|
if identifying_property == "uuid":
|
78
82
|
identifying_paths.append(f"/{identifying_value}")
|
79
83
|
# For now at least we include the path both with and without the schema type component
|
@@ -44,7 +44,7 @@ dcicutils/log_utils.py,sha256=7pWMc6vyrorUZQf-V-M3YC6zrPgNhuV_fzm9xqTPph0,10883
|
|
44
44
|
dcicutils/misc_utils.py,sha256=bMRWWxdbhuF3PKdCZEH-H4U1ecgT3Nag3EL92D9XGoY,100973
|
45
45
|
dcicutils/obfuscation_utils.py,sha256=fo2jOmDRC6xWpYX49u80bVNisqRRoPskFNX3ymFAmjw,5963
|
46
46
|
dcicutils/opensearch_utils.py,sha256=V2exmFYW8Xl2_pGFixF4I2Cc549Opwe4PhFi5twC0M8,1017
|
47
|
-
dcicutils/portal_object_utils.py,sha256=
|
47
|
+
dcicutils/portal_object_utils.py,sha256=io5XCdfHarFb1H2S3IyDNb25n9LPw2IZjcsiBowmeN4,5251
|
48
48
|
dcicutils/portal_utils.py,sha256=jKYgZUYVdkg6VOs1hsiX4bSULLguOIBJFFRpvvZEklU,26704
|
49
49
|
dcicutils/project_utils.py,sha256=qPdCaFmWUVBJw4rw342iUytwdQC0P-XKpK4mhyIulMM,31250
|
50
50
|
dcicutils/qa_checkers.py,sha256=cdXjeL0jCDFDLT8VR8Px78aS10hwNISOO5G_Zv2TZ6M,20534
|
@@ -66,8 +66,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
|
66
66
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
67
67
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
68
68
|
dcicutils/zip_utils.py,sha256=rnjNv_k6L9jT2SjDSgVXp4BEJYLtz9XN6Cl2Fy-tqnM,2027
|
69
|
-
dcicutils-8.7.0.
|
70
|
-
dcicutils-8.7.0.
|
71
|
-
dcicutils-8.7.0.
|
72
|
-
dcicutils-8.7.0.
|
73
|
-
dcicutils-8.7.0.
|
69
|
+
dcicutils-8.7.0.1b33.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
70
|
+
dcicutils-8.7.0.1b33.dist-info/METADATA,sha256=oBnl8kr-p0xukoz_JLaF6utwsnX0CK79u9ykMwe8rCU,3315
|
71
|
+
dcicutils-8.7.0.1b33.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
72
|
+
dcicutils-8.7.0.1b33.dist-info/entry_points.txt,sha256=8wbw5csMIgBXhkwfgsgJeuFcoUc0WsucUxmOyml2aoA,209
|
73
|
+
dcicutils-8.7.0.1b33.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|