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.
Files changed (79) hide show
  1. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/PKG-INFO +1 -1
  2. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/portal_object_utils.py +2 -5
  3. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/portal_utils.py +9 -6
  4. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/pyproject.toml +1 -1
  5. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/LICENSE.txt +0 -0
  6. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/README.rst +0 -0
  7. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/__init__.py +0 -0
  8. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/base.py +0 -0
  9. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/beanstalk_utils.py +0 -0
  10. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/bundle_utils.py +0 -0
  11. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/captured_output.py +0 -0
  12. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/cloudformation_utils.py +0 -0
  13. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/codebuild_utils.py +0 -0
  14. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/command_utils.py +0 -0
  15. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/common.py +0 -0
  16. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/contribution_scripts.py +0 -0
  17. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/contribution_utils.py +0 -0
  18. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/creds_utils.py +0 -0
  19. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/data_readers.py +0 -0
  20. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/data_utils.py +0 -0
  21. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/datetime_utils.py +0 -0
  22. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/deployment_utils.py +0 -0
  23. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/diff_utils.py +0 -0
  24. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/docker_utils.py +0 -0
  25. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ecr_scripts.py +0 -0
  26. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ecr_utils.py +0 -0
  27. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ecs_utils.py +0 -0
  28. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_base.py +0 -0
  29. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_manager.py +0 -0
  30. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_scripts.py +0 -0
  31. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_utils.py +0 -0
  32. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/env_utils_legacy.py +0 -0
  33. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/es_utils.py +0 -0
  34. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/exceptions.py +0 -0
  35. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ff_mocks.py +0 -0
  36. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ff_utils.py +0 -0
  37. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/file_utils.py +0 -0
  38. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/function_cache_decorator.py +0 -0
  39. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/glacier_utils.py +0 -0
  40. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/http_utils.py +0 -0
  41. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/jh_utils.py +0 -0
  42. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/kibana/dashboards.json +0 -0
  43. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/kibana/readme.md +0 -0
  44. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/lang_utils.py +0 -0
  45. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
  46. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
  47. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
  48. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
  49. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
  50. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
  51. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/license_utils.py +0 -0
  52. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/log_utils.py +0 -0
  53. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/misc_utils.py +0 -0
  54. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/obfuscation_utils.py +0 -0
  55. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/opensearch_utils.py +0 -0
  56. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/progress_bar.py +0 -0
  57. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/project_utils.py +0 -0
  58. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/qa_checkers.py +0 -0
  59. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/qa_utils.py +0 -0
  60. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/redis_tools.py +0 -0
  61. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/redis_utils.py +0 -0
  62. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/s3_utils.py +0 -0
  63. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/schema_utils.py +0 -0
  64. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/scripts/publish_to_pypi.py +0 -0
  65. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/scripts/run_license_checker.py +0 -0
  66. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/scripts/view_portal_object.py +0 -0
  67. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/secrets_utils.py +0 -0
  68. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/sheet_utils.py +0 -0
  69. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/snapshot_utils.py +0 -0
  70. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/ssl_certificate_utils.py +0 -0
  71. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/structured_data.py +0 -0
  72. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/submitr/progress_constants.py +0 -0
  73. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
  74. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/task_utils.py +0 -0
  75. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/tmpfile_utils.py +0 -0
  76. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/trace_utils.py +0 -0
  77. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/validation_utils.py +0 -0
  78. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/variant_utils.py +0 -0
  79. {dcicutils-8.8.6.1b7 → dcicutils-8.8.6.1b9}/dcicutils/zip_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.8.6.1b7
3
+ Version: 8.8.6.1b9
4
4
  Summary: Utility package for interacting with the 4DN Data Portal and other 4DN resources
5
5
  Home-page: https://github.com/4dn-dcic/utils
6
6
  License: MIT
@@ -145,15 +145,12 @@ class PortalObject:
145
145
  return diffs
146
146
 
147
147
  @lru_cache(maxsize=1)
148
- def _get_identifying_paths(self, all: bool = True,
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, all=all,
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
- all: bool = True, lookup_strategy: Optional[Union[Callable, bool]] = None) -> List[str]:
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 slight odd situation WRT object lookups by submitted_id and accession:
548
+ # Note this slightly odd situation WRT object lookups by submitted_id and accession:
546
549
  # -----------------------------+-----------------------------------------------+---------------+
547
550
  # PATH | EXAMPLE | LOOKUP RESULT |
548
551
  # -----------------------------+-----------------------------------------------+---------------+
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dcicutils"
3
- version = "8.8.6.1b7"
3
+ version = "8.8.6.1b9"
4
4
  description = "Utility package for interacting with the 4DN Data Portal and other 4DN resources"
5
5
  authors = ["4DN-DCIC Team <support@4dnucleome.org>"]
6
6
  license = "MIT"
File without changes
File without changes