dcicutils 8.8.0.1b11__tar.gz → 8.8.0.1b13__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/PKG-INFO +1 -1
  2. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/structured_data.py +15 -4
  3. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/pyproject.toml +1 -1
  4. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/LICENSE.txt +0 -0
  5. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/README.rst +0 -0
  6. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/__init__.py +0 -0
  7. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/base.py +0 -0
  8. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/beanstalk_utils.py +0 -0
  9. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/bundle_utils.py +0 -0
  10. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/captured_output.py +0 -0
  11. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/cloudformation_utils.py +0 -0
  12. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/codebuild_utils.py +0 -0
  13. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/command_utils.py +0 -0
  14. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/common.py +0 -0
  15. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/contribution_scripts.py +0 -0
  16. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/contribution_utils.py +0 -0
  17. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/creds_utils.py +0 -0
  18. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/data_readers.py +0 -0
  19. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/data_utils.py +0 -0
  20. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/datetime_utils.py +0 -0
  21. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/deployment_utils.py +0 -0
  22. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/diff_utils.py +0 -0
  23. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/docker_utils.py +0 -0
  24. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/ecr_scripts.py +0 -0
  25. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/ecr_utils.py +0 -0
  26. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/ecs_utils.py +0 -0
  27. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/env_base.py +0 -0
  28. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/env_manager.py +0 -0
  29. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/env_scripts.py +0 -0
  30. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/env_utils.py +0 -0
  31. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/env_utils_legacy.py +0 -0
  32. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/es_utils.py +0 -0
  33. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/exceptions.py +0 -0
  34. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/ff_mocks.py +0 -0
  35. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/ff_utils.py +0 -0
  36. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/file_utils.py +0 -0
  37. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/function_cache_decorator.py +0 -0
  38. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/glacier_utils.py +0 -0
  39. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/jh_utils.py +0 -0
  40. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/kibana/dashboards.json +0 -0
  41. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/kibana/readme.md +0 -0
  42. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/lang_utils.py +0 -0
  43. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
  44. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
  45. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
  46. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
  47. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
  48. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
  49. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/license_utils.py +0 -0
  50. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/log_utils.py +0 -0
  51. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/misc_utils.py +0 -0
  52. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/obfuscation_utils.py +0 -0
  53. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/opensearch_utils.py +0 -0
  54. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/portal_object_utils.py +0 -0
  55. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/portal_utils.py +0 -0
  56. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/project_utils.py +0 -0
  57. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/qa_checkers.py +0 -0
  58. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/qa_utils.py +0 -0
  59. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/redis_tools.py +0 -0
  60. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/redis_utils.py +0 -0
  61. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/s3_utils.py +0 -0
  62. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/schema_utils.py +0 -0
  63. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/scripts/publish_to_pypi.py +0 -0
  64. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/scripts/run_license_checker.py +0 -0
  65. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/scripts/view_portal_object.py +0 -0
  66. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/secrets_utils.py +0 -0
  67. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/sheet_utils.py +0 -0
  68. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/snapshot_utils.py +0 -0
  69. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/ssl_certificate_utils.py +0 -0
  70. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/task_utils.py +0 -0
  71. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/tmpfile_utils.py +0 -0
  72. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/trace_utils.py +0 -0
  73. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/validation_utils.py +0 -0
  74. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/variant_utils.py +0 -0
  75. {dcicutils-8.8.0.1b11 → dcicutils-8.8.0.1b13}/dcicutils/zip_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.8.0.1b11
3
+ Version: 8.8.0.1b13
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
@@ -6,6 +6,7 @@ import os
6
6
  from pyramid.router import Router
7
7
  import re
8
8
  import sys
9
+ import time
9
10
  from tqdm import tqdm
10
11
  from typing import Any, Callable, List, Optional, Tuple, Type, Union
11
12
  from webtest.app import TestApp
@@ -69,7 +70,8 @@ class StructuredDataSet:
69
70
  order: Optional[List[str]] = None, prune: bool = True,
70
71
  ref_lookup_strategy: Optional[Callable] = None,
71
72
  ref_lookup_nocache: bool = False,
72
- progress: bool = False) -> None:
73
+ progress: bool = False,
74
+ debug_sleep: Optional[str] = None) -> None:
73
75
  progress = False
74
76
  self._progress = progress
75
77
  self._data = {}
@@ -83,6 +85,12 @@ class StructuredDataSet:
83
85
  self._resolved_refs = set()
84
86
  self._validated = False
85
87
  self._autoadd_properties = autoadd if isinstance(autoadd, dict) and autoadd else None
88
+ self._debug_sleep = None
89
+ if debug_sleep:
90
+ try:
91
+ self._debug_sleep = float(debug_sleep)
92
+ except Exception:
93
+ self._debug_sleep = None
86
94
  self._load_file(file) if file else None
87
95
 
88
96
  def _progress_add(self, amount: Union[int, Callable]) -> None:
@@ -113,9 +121,10 @@ class StructuredDataSet:
113
121
  schemas: Optional[List[dict]] = None, autoadd: Optional[dict] = None,
114
122
  order: Optional[List[str]] = None, prune: bool = True,
115
123
  ref_lookup_strategy: Optional[Callable] = None,
116
- ref_lookup_nocache: bool = False) -> StructuredDataSet:
124
+ ref_lookup_nocache: bool = False, debug_sleep: Optional[str] = None) -> StructuredDataSet:
117
125
  return StructuredDataSet(file=file, portal=portal, schemas=schemas, autoadd=autoadd, order=order, prune=prune,
118
- ref_lookup_strategy=ref_lookup_strategy, ref_lookup_nocache=ref_lookup_nocache)
126
+ ref_lookup_strategy=ref_lookup_strategy, ref_lookup_nocache=ref_lookup_nocache,
127
+ debug_sleep=debug_sleep)
119
128
 
120
129
  def validate(self, force: bool = False) -> None:
121
130
  def data_without_deleted_properties(data: dict) -> dict:
@@ -205,7 +214,7 @@ class StructuredDataSet:
205
214
  diffs[object_type].append(create_readonly_object(path=identifying_path,
206
215
  uuid=existing_object.uuid,
207
216
  diffs=object_diffs or None))
208
- else:
217
+ elif identifying_path:
209
218
  # If there is no existing object we still create a record for this object
210
219
  # but with no uuid which will be the indication that it does not exist.
211
220
  diffs[object_type].append(create_readonly_object(path=identifying_path, uuid=None, diffs=None))
@@ -278,6 +287,8 @@ class StructuredDataSet:
278
287
  noschema = False
279
288
  structured_row_template = None
280
289
  for row in reader:
290
+ if self._debug_sleep:
291
+ time.sleep(float(self._debug_sleep))
281
292
  if not structured_row_template: # Delay creation just so we don't reference schema if there are no rows.
282
293
  if not schema and not noschema and not (schema := Schema.load_by_name(type_name, portal=self._portal)):
283
294
  noschema = True
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dcicutils"
3
- version = "8.8.0.1b11" # TODO: To become 8.8.1
3
+ version = "8.8.0.1b13" # TODO: To become 8.8.1
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"