dcicutils 8.8.1.1b25__py3-none-any.whl → 8.8.1.1b27__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.
@@ -195,7 +195,7 @@ class PortalObject:
195
195
  # sure we check accession format (since it does not have a pattern).
196
196
  if callable(ref_lookup_strategy):
197
197
  lookup_options, ref_validator = ref_lookup_strategy(
198
- self.type, schema, identifying_value)
198
+ self._portal, self.type, schema, identifying_value)
199
199
  if callable(ref_validator):
200
200
  if ref_validator(schema, identifying_property, identifying_value) is False:
201
201
  continue
@@ -17,7 +17,7 @@ from dcicutils.misc_utils import (create_dict, create_readonly_object, is_uuid,
17
17
  to_boolean, to_enum, to_float, to_integer, VirtualApp)
18
18
  from dcicutils.portal_object_utils import PortalObject
19
19
  from dcicutils.portal_utils import Portal as PortalBase
20
- from dcicutils.progress_constants import PROGRESS_PARSE as PROGRESS
20
+ from dcicutils.submitr.progress_constants import PROGRESS_PARSE as PROGRESS
21
21
  from dcicutils.schema_utils import Schema as SchemaBase
22
22
  from dcicutils.zip_utils import unpack_gz_file_to_temporary_file, unpack_files
23
23
 
@@ -822,7 +822,7 @@ class Portal(PortalBase):
822
822
  if callable(ref_lookup_strategy):
823
823
  self._ref_lookup_strategy = ref_lookup_strategy
824
824
  else:
825
- self._ref_lookup_strategy = lambda type_name, schema, value: (Portal.LOOKUP_DEFAULT, None)
825
+ self._ref_lookup_strategy = lambda portal, type_name, schema, value: (Portal.LOOKUP_DEFAULT, None)
826
826
  if ref_lookup_nocache is True:
827
827
  self.ref_lookup = self.ref_lookup_uncached
828
828
  self._ref_cache = None
@@ -860,10 +860,6 @@ class Portal(PortalBase):
860
860
  @lru_cache(maxsize=100)
861
861
  def get_schema(self, schema_name: str) -> Optional[dict]:
862
862
  return schemas.get(Schema.type_name(schema_name), None) if (schemas := self.get_schemas()) else None
863
- # if schema_name == schema_name.upper() and (schema := schemas.get(schema_name.lower().title())):
864
- # return schema
865
- # if schema_name == schema_name.lower() and (schema := schemas.get(schema_name.title())):
866
- # return schema
867
863
 
868
864
  @lru_cache(maxsize=1)
869
865
  def get_schemas(self) -> Optional[dict]:
@@ -892,7 +888,7 @@ class Portal(PortalBase):
892
888
  self._ref_total_count += 1
893
889
  # First make sure the given value can possibly be a reference to the given type.
894
890
  schema = self.get_schema(type_name)
895
- ref_lookup_strategy, ref_validator = self._ref_lookup_strategy(type_name, schema, value)
891
+ ref_lookup_flags, ref_validator = self._ref_lookup_strategy(self, type_name, schema, value)
896
892
  if not self._is_valid_ref(type_name, value, ref_validator):
897
893
  if called_from_map_ref:
898
894
  self._ref_invalid_identifying_property_count += 1
@@ -922,11 +918,11 @@ class Portal(PortalBase):
922
918
  # Get the lookup strategy; i.e. should do we lookup by root path, and if so, should
923
919
  # we do this first, and do we lookup by subtypes; by default we lookup by root path
924
920
  # but not first, and we also lookup by subtypes by default.
925
- ref_lookup_strategy, _ = self._ref_lookup_strategy(type_name, self.get_schema(type_name), value)
926
- is_ref_lookup_specified_type = StructuredDataSet._is_ref_lookup_specified_type(ref_lookup_strategy)
927
- is_ref_lookup_root = StructuredDataSet._is_ref_lookup_root(ref_lookup_strategy)
928
- is_ref_lookup_root_first = StructuredDataSet._is_ref_lookup_root_first(ref_lookup_strategy)
929
- is_ref_lookup_subtypes = StructuredDataSet._is_ref_lookup_subtypes(ref_lookup_strategy)
921
+ ref_lookup_flags, _ = self._ref_lookup_strategy(self, type_name, self.get_schema(type_name), value)
922
+ is_ref_lookup_specified_type = StructuredDataSet._is_ref_lookup_specified_type(ref_lookup_flags)
923
+ is_ref_lookup_root = StructuredDataSet._is_ref_lookup_root(ref_lookup_flags)
924
+ is_ref_lookup_root_first = StructuredDataSet._is_ref_lookup_root_first(ref_lookup_flags)
925
+ is_ref_lookup_subtypes = StructuredDataSet._is_ref_lookup_subtypes(ref_lookup_flags)
930
926
  # First construct the list of lookup paths at which to look for the referenced item.
931
927
  lookup_paths = []
932
928
  if is_ref_lookup_root_first:
@@ -971,9 +967,9 @@ class Portal(PortalBase):
971
967
  if not type_name or not value:
972
968
  return None # Should not happen.
973
969
  # Note that root lookup not applicable here.
974
- ref_lookup_strategy, ref_validator = (
975
- self._ref_lookup_strategy(type_name, self.get_schema(type_name), value))
976
- is_ref_lookup_subtypes = StructuredDataSet._is_ref_lookup_subtypes(ref_lookup_strategy)
970
+ ref_lookup_flags, ref_validator = (
971
+ self._ref_lookup_strategy(self, type_name, self.get_schema(type_name), value))
972
+ is_ref_lookup_subtypes = StructuredDataSet._is_ref_lookup_subtypes(ref_lookup_flags)
977
973
  subtype_names = self.get_schema_subtype_names(type_name) if is_ref_lookup_subtypes else []
978
974
  for type_name in [type_name] + subtype_names:
979
975
  is_resolved, resolved_item = self._ref_exists_single_internally(type_name, value)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.8.1.1b25
3
+ Version: 8.8.1.1b27
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
@@ -46,7 +46,7 @@ dcicutils/log_utils.py,sha256=7pWMc6vyrorUZQf-V-M3YC6zrPgNhuV_fzm9xqTPph0,10883
46
46
  dcicutils/misc_utils.py,sha256=zVc4urdVGgnWjQ4UQlrGH-URAzr2l_PwZWI3u_GJdFE,102210
47
47
  dcicutils/obfuscation_utils.py,sha256=fo2jOmDRC6xWpYX49u80bVNisqRRoPskFNX3ymFAmjw,5963
48
48
  dcicutils/opensearch_utils.py,sha256=V2exmFYW8Xl2_pGFixF4I2Cc549Opwe4PhFi5twC0M8,1017
49
- dcicutils/portal_object_utils.py,sha256=MF6MTZ6yxakZFDjbkTKCsF4q4p11dLDVvT5JBV9m6RQ,15408
49
+ dcicutils/portal_object_utils.py,sha256=gDXRgPsRvqCFwbC8WatsuflAxNiigOnqr0Hi93k3AgE,15422
50
50
  dcicutils/portal_utils.py,sha256=oBoI3KWRp6YrbsuVGbmPQ3kATB5cVVsQo7-qmnYXWqg,30260
51
51
  dcicutils/project_utils.py,sha256=qPdCaFmWUVBJw4rw342iUytwdQC0P-XKpK4mhyIulMM,31250
52
52
  dcicutils/qa_checkers.py,sha256=cdXjeL0jCDFDLT8VR8Px78aS10hwNISOO5G_Zv2TZ6M,20534
@@ -62,7 +62,7 @@ dcicutils/secrets_utils.py,sha256=8dppXAsiHhJzI6NmOcvJV5ldvKkQZzh3Fl-cb8Wm7MI,19
62
62
  dcicutils/sheet_utils.py,sha256=VlmzteONW5VF_Q4vo0yA5vesz1ViUah1MZ_yA1rwZ0M,33629
63
63
  dcicutils/snapshot_utils.py,sha256=ymP7PXH6-yEiXAt75w0ldQFciGNqWBClNxC5gfX2FnY,22961
64
64
  dcicutils/ssl_certificate_utils.py,sha256=F0ifz_wnRRN9dfrfsz7aCp4UDLgHEY8LaK7PjnNvrAQ,9707
65
- dcicutils/structured_data.py,sha256=yybW9mlPVDj1G5p12KemfY-GKWNEZYlmfVBfVssWxz0,58693
65
+ dcicutils/structured_data.py,sha256=IjiLOLsxtINOEaz3oVSEscA4lW-t6u9dFfW-NRCRmfs,58451
66
66
  dcicutils/submitr/progress_constants.py,sha256=5bxyX77ql8qEJearfHEvsvXl7D0GuUODW0T65mbRmnE,2895
67
67
  dcicutils/task_utils.py,sha256=MF8ujmTD6-O2AC2gRGPHyGdUrVKgtr8epT5XU8WtNjk,8082
68
68
  dcicutils/tmpfile_utils.py,sha256=n95XF8dZVbQRSXBZTGToXXfSs3JUVRyN6c3ZZ0nhAWI,1403
@@ -70,8 +70,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
70
70
  dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
71
71
  dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
72
72
  dcicutils/zip_utils.py,sha256=rnjNv_k6L9jT2SjDSgVXp4BEJYLtz9XN6Cl2Fy-tqnM,2027
73
- dcicutils-8.8.1.1b25.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
74
- dcicutils-8.8.1.1b25.dist-info/METADATA,sha256=4BZK0i2jt65-vcsQOjCpwL2E15vGoIoZ3SnkjxwV4dM,3357
75
- dcicutils-8.8.1.1b25.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
76
- dcicutils-8.8.1.1b25.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
77
- dcicutils-8.8.1.1b25.dist-info/RECORD,,
73
+ dcicutils-8.8.1.1b27.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
74
+ dcicutils-8.8.1.1b27.dist-info/METADATA,sha256=10eVXu2Pbsp3riFUY08fAjFnIkywJg2qPNTJqjJ9Noc,3357
75
+ dcicutils-8.8.1.1b27.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
76
+ dcicutils-8.8.1.1b27.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
77
+ dcicutils-8.8.1.1b27.dist-info/RECORD,,