dcicutils 8.8.2.1b6__tar.gz → 8.8.2.1b8__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/PKG-INFO +1 -1
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/deployment_utils.py +9 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/portal_utils.py +4 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/progress_bar.py +1 -1
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/structured_data.py +1 -8
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/pyproject.toml +1 -1
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/LICENSE.txt +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/README.rst +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/__init__.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/base.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/beanstalk_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/bundle_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/captured_output.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/cloudformation_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/codebuild_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/command_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/common.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/contribution_scripts.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/contribution_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/creds_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/data_readers.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/data_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/datetime_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/diff_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/docker_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/ecr_scripts.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/ecr_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/ecs_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/env_base.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/env_manager.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/env_scripts.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/env_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/env_utils_legacy.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/es_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/exceptions.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/ff_mocks.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/ff_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/file_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/function_cache_decorator.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/glacier_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/jh_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/kibana/dashboards.json +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/kibana/readme.md +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/lang_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/log_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/misc_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/obfuscation_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/opensearch_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/portal_object_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/project_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/qa_checkers.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/qa_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/redis_tools.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/redis_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/s3_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/schema_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/scripts/publish_to_pypi.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/scripts/run_license_checker.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/scripts/view_portal_object.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/secrets_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/sheet_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/snapshot_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/ssl_certificate_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/submitr/progress_constants.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/task_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/tmpfile_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/trace_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/validation_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/variant_utils.py +0 -0
- {dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/zip_utils.py +0 -0
@@ -430,6 +430,7 @@ class IniFileManager:
|
|
430
430
|
auth0_allowed_connections=None,
|
431
431
|
re_captcha_key=None, re_captcha_secret=None,
|
432
432
|
redis_server=None,
|
433
|
+
google_api_key=None,
|
433
434
|
file_upload_bucket=None, file_wfout_bucket=None,
|
434
435
|
blob_bucket=None, system_bucket=None, metadata_bundles_bucket=None):
|
435
436
|
|
@@ -506,6 +507,7 @@ class IniFileManager:
|
|
506
507
|
re_captcha_key=re_captcha_key,
|
507
508
|
re_captcha_secret=re_captcha_secret,
|
508
509
|
redis_server=redis_server,
|
510
|
+
google_api_key=google_api_key,
|
509
511
|
file_upload_bucket=file_upload_bucket,
|
510
512
|
file_wfout_bucket=file_wfout_bucket,
|
511
513
|
blob_bucket=blob_bucket,
|
@@ -576,6 +578,7 @@ class IniFileManager:
|
|
576
578
|
auth0_allowed_connections=None,
|
577
579
|
re_captcha_key=None, re_captcha_secret=None,
|
578
580
|
redis_server=None,
|
581
|
+
google_api_key=None,
|
579
582
|
file_upload_bucket=None,
|
580
583
|
file_wfout_bucket=None, blob_bucket=None, system_bucket=None,
|
581
584
|
metadata_bundles_bucket=None):
|
@@ -632,6 +635,7 @@ class IniFileManager:
|
|
632
635
|
higlass_server = higlass_server or os.environ.get('ENCODED_HIGLASS_SERVER', "MISSING_ENCODED_HIGLASS_SERVER")
|
633
636
|
es_server = es_server or os.environ.get('ENCODED_ES_SERVER', "MISSING_ENCODED_ES_SERVER")
|
634
637
|
redis_server = redis_server or os.environ.get('ENCODED_REDIS_SERVER', '') # optional
|
638
|
+
google_api_key = google_api_key or os.environ.get('GOOGLE_API_KEY', '') # optional
|
635
639
|
env_bucket = (env_bucket
|
636
640
|
or EnvBase.global_env_bucket_name()
|
637
641
|
or ("MISSING_GLOBAL_ENV_BUCKET"
|
@@ -773,6 +777,7 @@ class IniFileManager:
|
|
773
777
|
'HIGLASS_SERVER': higlass_server,
|
774
778
|
'ES_SERVER': es_server,
|
775
779
|
'REDIS_SERVER': redis_server,
|
780
|
+
'GOOGLE_API_KEY': google_api_key,
|
776
781
|
'ENV_BUCKET': env_bucket,
|
777
782
|
'ENV_ECOSYSTEM': env_ecosystem,
|
778
783
|
'ENV_NAME': env_name,
|
@@ -945,6 +950,9 @@ class IniFileManager:
|
|
945
950
|
parser.add_argument("--redis_server",
|
946
951
|
help="server URL to a Redis Cluster",
|
947
952
|
default=None)
|
953
|
+
parser.add_argument("--google_api_key",
|
954
|
+
help="Google API key to get smaht-submitr metadata template version",
|
955
|
+
default=None)
|
948
956
|
parser.add_argument("--tibanna_cwls_bucket",
|
949
957
|
help="the name of a Tibanna CWLs bucket to use",
|
950
958
|
default=None)
|
@@ -1024,6 +1032,7 @@ class IniFileManager:
|
|
1024
1032
|
auth0_allowed_connections=args.auth0_allowed_connections,
|
1025
1033
|
re_captcha_key=args.recaptcha_key, re_captcha_secret=args.recaptcha_secret,
|
1026
1034
|
redis_server=args.redis_server,
|
1035
|
+
google_api_key=args.google_api_key,
|
1027
1036
|
file_upload_bucket=args.file_upload_bucket,
|
1028
1037
|
file_wfout_bucket=args.file_wfout_bucket,
|
1029
1038
|
blob_bucket=args.blob_bucket, system_bucket=args.system_bucket,
|
@@ -45,6 +45,7 @@ class Portal:
|
|
45
45
|
DEFAULT_APP = APP_SMAHT
|
46
46
|
KEYS_FILE_DIRECTORY = "~"
|
47
47
|
MIME_TYPE_JSON = "application/json"
|
48
|
+
FILE_TYPE_SCHEMA_NAME = "File"
|
48
49
|
|
49
50
|
# Object lookup strategies; on a per-reference (type/value) basis, used currently ONLY by
|
50
51
|
# structured_data.py; controlled by an optional ref_lookup_strategy callable; default is
|
@@ -342,6 +343,9 @@ class Portal:
|
|
342
343
|
return True
|
343
344
|
return False
|
344
345
|
|
346
|
+
def is_schema_file_type(self, schema_name_or_portal_object: Union[str, dict]) -> bool:
|
347
|
+
return self.is_schema_type(schema_name_or_portal_object, self.FILE_TYPE_SCHEMA_NAME)
|
348
|
+
|
345
349
|
def isinstance_schema(self, portal_object: dict, target_schema_name: str) -> bool:
|
346
350
|
"""
|
347
351
|
Returns True iff the given object isa type of the given schema type.
|
@@ -64,7 +64,7 @@ class ProgressBar:
|
|
64
64
|
self._started = time.time()
|
65
65
|
self._stop_requested = False
|
66
66
|
# Interrupt handling. We do not do the actual (signal) interrupt setup
|
67
|
-
# in self.
|
67
|
+
# in self._initialize as that could be called from a (sub) thread; and in
|
68
68
|
# Python we can only set a signal (SIGINT in our case) on the main thread.
|
69
69
|
self._catch_interrupt = (catch_interrupt is True)
|
70
70
|
self._interrupt = interrupt if callable(interrupt) else None
|
@@ -40,7 +40,6 @@ DOTTED_NAME_DELIMITER_CHAR = "."
|
|
40
40
|
|
41
41
|
|
42
42
|
# TODO: Should probably pass this knowledge in from callers.
|
43
|
-
FILE_TYPE_NAME = "File"
|
44
43
|
FILE_TYPE_PROPERTY_NAME = "filename"
|
45
44
|
|
46
45
|
# Forward type references for type hints.
|
@@ -162,7 +161,7 @@ class StructuredDataSet:
|
|
162
161
|
result = []
|
163
162
|
if self._portal:
|
164
163
|
for type_name in self.data:
|
165
|
-
if self._portal.
|
164
|
+
if self._portal.is_schema_file_type(type_name):
|
166
165
|
for item in self.data[type_name]:
|
167
166
|
if (file_name := item.get(FILE_TYPE_PROPERTY_NAME)):
|
168
167
|
result.append({"type": type_name, "file": file_name})
|
@@ -872,12 +871,6 @@ class Portal(PortalBase):
|
|
872
871
|
schemas[user_specified_schema["title"]] = user_specified_schema
|
873
872
|
return schemas
|
874
873
|
|
875
|
-
def is_file_schema(self, schema_name: str) -> bool:
|
876
|
-
"""
|
877
|
-
Returns True iff the given schema name isa File type, i.e. has an ancestor which is of type File.
|
878
|
-
"""
|
879
|
-
return self.is_schema_type(schema_name, FILE_TYPE_NAME)
|
880
|
-
|
881
874
|
def ref_exists(self, type_name: str, value: Optional[str] = None,
|
882
875
|
called_from_map_ref: bool = False) -> Optional[dict]:
|
883
876
|
if not value:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "dcicutils"
|
3
|
-
version = "8.8.2.
|
3
|
+
version = "8.8.2.1b8" # TODO: To become 8.8.3
|
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
|
{dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/c4-infrastructure.jsonc
RENAMED
File without changes
|
File without changes
|
{dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-common-server.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-common.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.2.1b6 → dcicutils-8.8.2.1b8}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc
RENAMED
File without changes
|
{dcicutils-8.8.2.1b6 → dcicutils-8.8.2.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
|