dcicutils 8.8.3.1b7__tar.gz → 8.8.3.1b8__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/PKG-INFO +1 -1
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/structured_data.py +33 -4
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/pyproject.toml +1 -1
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/LICENSE.txt +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/README.rst +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/__init__.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/base.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/beanstalk_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/bundle_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/captured_output.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/cloudformation_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/codebuild_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/command_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/common.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/contribution_scripts.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/contribution_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/creds_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/data_readers.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/data_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/datetime_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/deployment_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/diff_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/docker_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/ecr_scripts.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/ecr_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/ecs_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/env_base.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/env_manager.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/env_scripts.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/env_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/env_utils_legacy.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/es_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/exceptions.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/ff_mocks.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/ff_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/file_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/function_cache_decorator.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/glacier_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/jh_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/kibana/dashboards.json +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/kibana/readme.md +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/lang_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/log_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/misc_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/obfuscation_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/opensearch_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/portal_object_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/portal_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/progress_bar.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/project_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/qa_checkers.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/qa_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/redis_tools.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/redis_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/s3_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/schema_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/scripts/publish_to_pypi.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/scripts/run_license_checker.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/scripts/view_portal_object.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/secrets_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/sheet_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/snapshot_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/ssl_certificate_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/submitr/progress_constants.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/task_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/tmpfile_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/trace_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/validation_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/variant_utils.py +0 -0
- {dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/zip_utils.py +0 -0
@@ -154,7 +154,32 @@ class StructuredDataSet:
|
|
154
154
|
|
155
155
|
@property
|
156
156
|
def resolved_refs_with_uuids(self) -> List[str]:
|
157
|
-
return list([{"path": resolved_ref[0],
|
157
|
+
return list([{"path": resolved_ref[0],
|
158
|
+
"uuid": resolved_ref[1] if len(resolved_ref) >= 2 else None}
|
159
|
+
for resolved_ref in self._resolved_refs])
|
160
|
+
|
161
|
+
@property
|
162
|
+
def unchecked_refs(self) -> List[str]:
|
163
|
+
"""
|
164
|
+
Returns list of unchecked (for existence) references, grouped by reference path;
|
165
|
+
each object in the list has a path property and a srcs property which is a list of
|
166
|
+
src objects containing the type, column and row of the reference to the reference.
|
167
|
+
Note that this is only populated if the norefs option is specified.
|
168
|
+
"""
|
169
|
+
def load_json(value: str) -> Optional[dict]:
|
170
|
+
try:
|
171
|
+
return json.loads(value)
|
172
|
+
except Exception:
|
173
|
+
return None
|
174
|
+
result = []
|
175
|
+
if self._norefs:
|
176
|
+
for ref in self._resolved_refs:
|
177
|
+
if len(ref) >= 3 and (ref_path := ref[0]) and (ref_src := load_json(ref[2])):
|
178
|
+
if existing_ref := [item for item in result if item.get("path") == ref_path]:
|
179
|
+
existing_ref[0]["srcs"].append(ref_src)
|
180
|
+
else:
|
181
|
+
result.append({"path": ref_path, "srcs": [ref_src]})
|
182
|
+
return result
|
158
183
|
|
159
184
|
@property
|
160
185
|
def upload_files(self) -> List[str]:
|
@@ -653,10 +678,14 @@ class Schema(SchemaBase):
|
|
653
678
|
def map_ref(value: str, link_to: str, portal: Optional[Portal], src: Optional[str]) -> Any:
|
654
679
|
nonlocal self, typeinfo
|
655
680
|
if self._norefs:
|
681
|
+
# Here the caller has specified the (StructuredDataSet) norefs option
|
682
|
+
# which means we do not check for the existence of references at all.
|
656
683
|
if value:
|
657
|
-
# Dump the src because
|
658
|
-
# this is ONLY used for smaht-submitr/submit-metadata-bundle --info --refs.
|
659
|
-
|
684
|
+
# Dump the src as a JSON string because a dictionary cannot be added to a set; note
|
685
|
+
# that this is ONLY used for smaht-submitr/submit-metadata-bundle --info --refs.
|
686
|
+
# This info can be gotten at using StructureDataSet.unchecked_refs.
|
687
|
+
self._resolved_refs.add((f"/{link_to}/{value}", None,
|
688
|
+
json.dumps(src) if isinstance(src, dict) else None))
|
660
689
|
return value
|
661
690
|
if not value:
|
662
691
|
if (column := typeinfo.get("column")) and column in self.data.get("required", []):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "dcicutils"
|
3
|
-
version = "8.8.3.
|
3
|
+
version = "8.8.3.1b8" # TODO: To become 8.8.4
|
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
|
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.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/c4-infrastructure.jsonc
RENAMED
File without changes
|
File without changes
|
{dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-common-server.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-common.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.3.1b7 → dcicutils-8.8.3.1b8}/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
|
File without changes
|