dcicutils 8.8.6.1b7__tar.gz → 8.8.6.1b9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/PKG-INFO +1 -1
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/portal_object_utils.py +2 -5
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/portal_utils.py +9 -6
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/pyproject.toml +1 -1
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/LICENSE.txt +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/README.rst +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/__init__.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/base.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/beanstalk_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/bundle_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/captured_output.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/cloudformation_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/codebuild_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/command_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/common.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/contribution_scripts.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/contribution_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/creds_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/data_readers.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/data_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/datetime_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/deployment_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/diff_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/docker_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ecr_scripts.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ecr_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ecs_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_base.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_manager.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_scripts.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_utils_legacy.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/es_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/exceptions.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ff_mocks.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ff_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/file_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/function_cache_decorator.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/glacier_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/http_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/jh_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/kibana/dashboards.json +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/kibana/readme.md +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/lang_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/log_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/misc_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/obfuscation_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/opensearch_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/progress_bar.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/project_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/qa_checkers.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/qa_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/redis_tools.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/redis_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/s3_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/schema_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/scripts/publish_to_pypi.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/scripts/run_license_checker.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/scripts/view_portal_object.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/secrets_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/sheet_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/snapshot_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ssl_certificate_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/structured_data.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/submitr/progress_constants.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/task_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/tmpfile_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/trace_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/validation_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/variant_utils.py +0 -0
- {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/zip_utils.py +0 -0
@@ -145,15 +145,12 @@ class PortalObject:
|
|
145
145
|
return diffs
|
146
146
|
|
147
147
|
@lru_cache(maxsize=1)
|
148
|
-
def _get_identifying_paths(self,
|
149
|
-
ref_lookup_strategy: Optional[Callable] = None) -> Optional[List[str]]:
|
148
|
+
def _get_identifying_paths(self, ref_lookup_strategy: Optional[Callable] = None) -> Optional[List[str]]:
|
150
149
|
if not self._portal and (uuid := self.uuid):
|
151
|
-
if all is True and (type := self.type):
|
152
|
-
return [f"/{type}/{uuid}", f"/{uuid}"]
|
153
150
|
return [f"/{uuid}"]
|
154
151
|
# Migrating to and unifying this in portal_utils.Portal.get_identifying_paths (2024-05-26).
|
155
152
|
return self._portal.get_identifying_paths(self._data,
|
156
|
-
portal_type=self.schema,
|
153
|
+
portal_type=self.schema,
|
157
154
|
lookup_strategy=ref_lookup_strategy) if self._portal else None
|
158
155
|
|
159
156
|
def _normalized_refs(self, refs: List[dict]) -> Tuple[PortalObject, int]:
|
@@ -407,7 +407,7 @@ class Portal:
|
|
407
407
|
|
408
408
|
@function_cache(maxsize=100, serialize_key=True)
|
409
409
|
def get_identifying_paths(self, portal_object: dict, portal_type: Optional[Union[str, dict]] = None,
|
410
|
-
|
410
|
+
lookup_strategy: Optional[Union[Callable, bool]] = None) -> List[str]:
|
411
411
|
"""
|
412
412
|
Returns the list of the identifying Portal (URL) paths for the given Portal object. Favors any uuid
|
413
413
|
and identifier based paths and defavors aliases based paths (ala self.get_identifying_property_names);
|
@@ -467,15 +467,11 @@ class Portal:
|
|
467
467
|
# And note the disction of just using /{uuid} here rather than /{type}/{uuid} as in the else
|
468
468
|
# statement below is not really necessary; just here for emphasis that this is all that's needed.
|
469
469
|
#
|
470
|
-
if all is True:
|
471
|
-
results.append(f"/{portal_type}/{identifying_value}")
|
472
470
|
results.append(f"/{identifying_value}")
|
473
471
|
elif isinstance(identifying_value, list):
|
474
472
|
for identifying_value_item in identifying_value:
|
475
473
|
if identifying_value_item:
|
476
474
|
results.append(f"/{portal_type}/{identifying_value_item}")
|
477
|
-
if all is True:
|
478
|
-
results.append(f"/{identifying_value_item}")
|
479
475
|
else:
|
480
476
|
lookup_options = Portal.LOOKUP_UNDEFINED
|
481
477
|
if schema := self.get_schema(portal_type):
|
@@ -503,6 +499,13 @@ class Portal:
|
|
503
499
|
results.append(f"/{subtype_name}/{identifying_value}")
|
504
500
|
return results
|
505
501
|
|
502
|
+
@function_cache(maxsize=100, serialize_key=True)
|
503
|
+
def get_identifying_path(self, portal_object: dict, portal_type: Optional[Union[str, dict]] = None,
|
504
|
+
lookup_strategy: Optional[Union[Callable, bool]] = None) -> Optional[str]:
|
505
|
+
if identifying_paths := self.get_identifying_path(portal_object, portal_type, lookup_strategy):
|
506
|
+
return identifying_paths[0]
|
507
|
+
return None
|
508
|
+
|
506
509
|
@function_cache(maxsize=100, serialize_key=True)
|
507
510
|
def get_identifying_property_names(self, schema: Union[str, dict],
|
508
511
|
portal_object: Optional[dict] = None) -> List[str]:
|
@@ -542,7 +545,7 @@ class Portal:
|
|
542
545
|
@staticmethod
|
543
546
|
def _lookup_strategy(portal: Portal, type_name: str, schema: dict, value: str) -> (int, Optional[str]):
|
544
547
|
#
|
545
|
-
# Note this
|
548
|
+
# Note this slightly odd situation WRT object lookups by submitted_id and accession:
|
546
549
|
# -----------------------------+-----------------------------------------------+---------------+
|
547
550
|
# PATH | EXAMPLE | LOOKUP RESULT |
|
548
551
|
# -----------------------------+-----------------------------------------------+---------------+
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/c4-infrastructure.jsonc
RENAMED
File without changes
|
File without changes
|
{dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-common-server.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-common.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-pipeline.jsonc
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|