dcicutils 8.7.0.1b32__py3-none-any.whl → 8.7.0.1b33__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|