dcicutils 8.18.1.1b3__tar.gz → 8.18.2.1b1__tar.gz

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.
Files changed (83) hide show
  1. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/PKG-INFO +1 -1
  2. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/submitr/custom_excel.py +13 -2
  3. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/pyproject.toml +1 -1
  4. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/LICENSE.txt +0 -0
  5. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/README.rst +0 -0
  6. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/__init__.py +0 -0
  7. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/base.py +0 -0
  8. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/beanstalk_utils.py +0 -0
  9. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/bundle_utils.py +0 -0
  10. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/captured_output.py +0 -0
  11. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/cloudformation_utils.py +0 -0
  12. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/codebuild_utils.py +0 -0
  13. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/command_utils.py +0 -0
  14. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/common.py +0 -0
  15. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/contribution_scripts.py +0 -0
  16. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/contribution_utils.py +0 -0
  17. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/creds_utils.py +0 -0
  18. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/data_readers.py +0 -0
  19. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/data_utils.py +0 -0
  20. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/datetime_utils.py +0 -0
  21. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/deployment_utils.py +0 -0
  22. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/diff_utils.py +0 -0
  23. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/docker_utils.py +0 -0
  24. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/ecr_scripts.py +0 -0
  25. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/ecr_utils.py +0 -0
  26. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/ecs_utils.py +0 -0
  27. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/env_base.py +0 -0
  28. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/env_manager.py +0 -0
  29. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/env_scripts.py +0 -0
  30. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/env_utils.py +0 -0
  31. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/env_utils_legacy.py +0 -0
  32. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/es_utils.py +0 -0
  33. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/exceptions.py +0 -0
  34. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/ff_mocks.py +0 -0
  35. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/ff_utils.py +0 -0
  36. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/file_utils.py +0 -0
  37. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/function_cache_decorator.py +0 -0
  38. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/glacier_utils.py +0 -0
  39. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/hack_for_elasticsearch_numpy_usage.py +0 -0
  40. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/http_utils.py +0 -0
  41. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/jh_utils.py +0 -0
  42. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/kibana/dashboards.json +0 -0
  43. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/kibana/readme.md +0 -0
  44. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/lang_utils.py +0 -0
  45. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_policies/c4-infrastructure.jsonc +0 -0
  46. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_policies/c4-python-infrastructure.jsonc +0 -0
  47. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_policies/park-lab-common-server.jsonc +0 -0
  48. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_policies/park-lab-common.jsonc +0 -0
  49. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_policies/park-lab-gpl-pipeline.jsonc +0 -0
  50. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_policies/park-lab-pipeline.jsonc +0 -0
  51. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/license_utils.py +0 -0
  52. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/log_utils.py +0 -0
  53. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/misc_utils.py +0 -0
  54. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/obfuscation_utils.py +0 -0
  55. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/opensearch_utils.py +0 -0
  56. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/portal_object_utils.py +0 -0
  57. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/portal_utils.py +0 -0
  58. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/progress_bar.py +0 -0
  59. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/project_utils.py +0 -0
  60. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/qa_checkers.py +0 -0
  61. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/qa_utils.py +0 -0
  62. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/redis_tools.py +0 -0
  63. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/redis_utils.py +0 -0
  64. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/s3_utils.py +0 -0
  65. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/schema_utils.py +0 -0
  66. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/scripts/publish_to_pypi.py +0 -0
  67. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/scripts/run_license_checker.py +0 -0
  68. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/scripts/update_portal_object.py +0 -0
  69. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/scripts/view_portal_object.py +0 -0
  70. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/secrets_utils.py +0 -0
  71. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/sheet_utils.py +0 -0
  72. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/snapshot_utils.py +0 -0
  73. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/ssl_certificate_utils.py +0 -0
  74. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/structured_data.py +0 -0
  75. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/submitr/config/custom_column_mappings.json +0 -0
  76. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/submitr/progress_constants.py +0 -0
  77. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/submitr/ref_lookup_strategy.py +0 -0
  78. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/task_utils.py +0 -0
  79. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/tmpfile_utils.py +0 -0
  80. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/trace_utils.py +0 -0
  81. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/validation_utils.py +0 -0
  82. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/variant_utils.py +0 -0
  83. {dcicutils-8.18.1.1b3 → dcicutils-8.18.2.1b1}/dcicutils/zip_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.18.1.1b3
3
+ Version: 8.18.2.1b1
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
@@ -95,7 +95,8 @@ class CustomExcel(Excel):
95
95
  return CustomExcelSheetReader(self, sheet_name=sheet_name, workbook=self._workbook,
96
96
  custom_column_mappings=self._custom_column_mappings)
97
97
 
98
- def effective_sheet_name(self, sheet_name: str) -> str:
98
+ @staticmethod
99
+ def effective_sheet_name(sheet_name: str) -> str:
99
100
  if (underscore := sheet_name.find("_")) > 1:
100
101
  return sheet_name[underscore + 1:]
101
102
  return sheet_name
@@ -151,11 +152,21 @@ class CustomExcelSheetReader(ExcelSheetReader):
151
152
  ARGUMENT_NAME_CUSTOM_COLUMN_MAPPINGS = "custom_column_mappings"
152
153
  self._custom_column_mappings = None
153
154
  if ARGUMENT_NAME_CUSTOM_COLUMN_MAPPINGS in kwargs:
155
+ def lookup_custom_column_mappings(custom_column_mappings: dict, sheet_name: str) -> Optional[dict]:
156
+ if isinstance(custom_column_mappings, dict) and isinstance(sheet_name, str):
157
+ if isinstance(found_custom_column_mappings := custom_column_mappings.get(sheet_name), dict):
158
+ return found_custom_column_mappings
159
+ if (effective_sheet_name := CustomExcel.effective_sheet_name(sheet_name)) != sheet_name:
160
+ if isinstance(found_custom_column_mappings :=
161
+ custom_column_mappings.get(effective_sheet_name), dict):
162
+ return found_custom_column_mappings
163
+ return None
154
164
  custom_column_mappings = kwargs[ARGUMENT_NAME_CUSTOM_COLUMN_MAPPINGS]
155
165
  del kwargs[ARGUMENT_NAME_CUSTOM_COLUMN_MAPPINGS]
156
166
  if not (isinstance(custom_column_mappings, dict) and
157
167
  isinstance(sheet_name := kwargs.get(ARGUMENT_NAME_SHEET_NAME, None), str) and
158
- isinstance(custom_column_mappings := custom_column_mappings.get(sheet_name), dict)):
168
+ isinstance(custom_column_mappings :=
169
+ lookup_custom_column_mappings(custom_column_mappings, sheet_name), dict)):
159
170
  custom_column_mappings = None
160
171
  self._custom_column_mappings = custom_column_mappings
161
172
  super().__init__(*args, **kwargs)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dcicutils"
3
- version = "8.18.1.1b3" # TODO: 8.18.2
3
+ version = "8.18.2.1b1"
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"