dcicutils 8.10.0.1b1__py3-none-any.whl → 8.11.0__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.
- dcicutils/license_policies/park-lab-common.jsonc +0 -6
- dcicutils/schema_utils.py +50 -0
- {dcicutils-8.10.0.1b1.dist-info → dcicutils-8.11.0.dist-info}/METADATA +1 -1
- {dcicutils-8.10.0.1b1.dist-info → dcicutils-8.11.0.dist-info}/RECORD +7 -7
- {dcicutils-8.10.0.1b1.dist-info → dcicutils-8.11.0.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.10.0.1b1.dist-info → dcicutils-8.11.0.dist-info}/WHEEL +0 -0
- {dcicutils-8.10.0.1b1.dist-info → dcicutils-8.11.0.dist-info}/entry_points.txt +0 -0
@@ -248,12 +248,6 @@
|
|
248
248
|
"docutils" // Used only privately as a separate documentation-generation task for ReadTheDocs
|
249
249
|
],
|
250
250
|
|
251
|
-
|
252
|
-
"GNU General Public License v2 (GPLv2)": [
|
253
|
-
"pyinstaller",
|
254
|
-
"pyinstaller-hooks-contrib"
|
255
|
-
],
|
256
|
-
|
257
251
|
"MIT/X11 Derivative": [
|
258
252
|
// The license used by libxkbcommon is complicated and involves numerous included licenses,
|
259
253
|
// but all are permissive.
|
dcicutils/schema_utils.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import os
|
2
2
|
from typing import Any, Dict, List, Optional, Tuple
|
3
|
+
|
3
4
|
from dcicutils.misc_utils import to_camel_case
|
4
5
|
|
5
6
|
|
@@ -8,6 +9,7 @@ class JsonSchemaConstants:
|
|
8
9
|
ARRAY = "array"
|
9
10
|
BOOLEAN = "boolean"
|
10
11
|
DEFAULT = "default"
|
12
|
+
DEPENDENT_REQUIRED = "dependentRequired"
|
11
13
|
ENUM = "enum"
|
12
14
|
FORMAT = "format"
|
13
15
|
INTEGER = "integer"
|
@@ -29,6 +31,10 @@ class EncodedSchemaConstants:
|
|
29
31
|
LINK_TO = "linkTo"
|
30
32
|
MERGE_REF = "$merge"
|
31
33
|
MIXIN_PROPERTIES = "mixinProperties"
|
34
|
+
SUBMISSION_COMMENT = "submissionComment"
|
35
|
+
SUBMISSION_EXAMPLES = "submissionExamples"
|
36
|
+
SUBMITTER_REQUIRED = "submitterRequired"
|
37
|
+
SUGGESTED_ENUM = "suggested_enum"
|
32
38
|
UNIQUE_KEY = "uniqueKey"
|
33
39
|
|
34
40
|
|
@@ -203,6 +209,50 @@ def get_description(schema: Dict[str, Any]) -> str:
|
|
203
209
|
return schema.get(SchemaConstants.DESCRIPTION, "")
|
204
210
|
|
205
211
|
|
212
|
+
def is_submitter_required(schema: Dict[str, Any]) -> bool:
|
213
|
+
"""Return True if the schema is marked as required for submitters.
|
214
|
+
|
215
|
+
Specifically, required for external (i.e. non-admin) submitters.
|
216
|
+
|
217
|
+
This is typically validated within the context of a oneOf, anyOf,
|
218
|
+
or allOf schema on an item type which is used within the team and
|
219
|
+
by external submitters, and is tricky to pick up on automatically.
|
220
|
+
"""
|
221
|
+
return schema.get(SchemaConstants.SUBMITTER_REQUIRED, False)
|
222
|
+
|
223
|
+
|
224
|
+
def get_submission_comment(schema: Dict[str, Any]) -> str:
|
225
|
+
"""Return the submission comment for a property.
|
226
|
+
|
227
|
+
Custom property that can be manually added to a schema to provide
|
228
|
+
additional context for submitters.
|
229
|
+
"""
|
230
|
+
return schema.get(SchemaConstants.SUBMISSION_COMMENT, "")
|
231
|
+
|
232
|
+
|
233
|
+
def get_submission_examples(schema: Dict[str, Any]) -> List[str]:
|
234
|
+
"""Return the submission example for a property.
|
235
|
+
|
236
|
+
Custom property that can be manually added to a schema to provide
|
237
|
+
an example for submitters.
|
238
|
+
"""
|
239
|
+
return schema.get(SchemaConstants.SUBMISSION_EXAMPLES, [])
|
240
|
+
|
241
|
+
|
242
|
+
def get_suggested_enum(schema: Dict[str, Any]) -> List[str]:
|
243
|
+
"""Return the suggested enum for a property.
|
244
|
+
|
245
|
+
Custom property that can be manually added to a schema to provide
|
246
|
+
a suggested list of values for submitters.
|
247
|
+
"""
|
248
|
+
return schema.get(SchemaConstants.SUGGESTED_ENUM, [])
|
249
|
+
|
250
|
+
|
251
|
+
def get_dependent_required(schema: Dict[str, Any]) -> Dict[str, List[str]]:
|
252
|
+
"""Return the dependent required properties of a schema."""
|
253
|
+
return schema.get(SchemaConstants.DEPENDENT_REQUIRED, {})
|
254
|
+
|
255
|
+
|
206
256
|
class Schema:
|
207
257
|
|
208
258
|
def __init__(self, schema: dict, type: Optional[str] = None) -> None:
|
@@ -39,7 +39,7 @@ dcicutils/lang_utils.py,sha256=MI3K6bPHLUqlkx3s_9jYZfbGbahiQFlpq4rBE3OYMbg,28151
|
|
39
39
|
dcicutils/license_policies/c4-infrastructure.jsonc,sha256=xEQbIN08Y2xh3gSLRtSz9EhAZox1p3kHC4r678hCpss,278
|
40
40
|
dcicutils/license_policies/c4-python-infrastructure.jsonc,sha256=Tkq8P1mKGYlix68I82IFNmasrT4wtSdokOIM-g2B8DQ,296
|
41
41
|
dcicutils/license_policies/park-lab-common-server.jsonc,sha256=aaK-NdFDT8f8z_gBXihZnQJ6g3CAZdGSlHOwUP8HvUQ,5790
|
42
|
-
dcicutils/license_policies/park-lab-common.jsonc,sha256=
|
42
|
+
dcicutils/license_policies/park-lab-common.jsonc,sha256=0LIFlIQWmdHlt160ku8cTOiB59akgYzRhRN3Xb5G_Aw,18864
|
43
43
|
dcicutils/license_policies/park-lab-gpl-pipeline.jsonc,sha256=vLZkwm3Js-kjV44nug3PizRGDLVnDox4CnvDKu5d2oQ,3260
|
44
44
|
dcicutils/license_policies/park-lab-pipeline.jsonc,sha256=9qlY0ASy3iUMQlr3gorVcXrSfRHnVGbLhkS427UaRy4,283
|
45
45
|
dcicutils/license_utils.py,sha256=d1cq6iwv5Ju-VjdoINi6q7CPNNL7Oz6rcJdLMY38RX0,46978
|
@@ -56,7 +56,7 @@ dcicutils/qa_utils.py,sha256=TT0SiJWiuxYvbsIyhK9VO4uV_suxhB6CpuC4qPacCzQ,160208
|
|
56
56
|
dcicutils/redis_tools.py,sha256=qkcSNMtvqkpvts-Cm9gWhneK523Q_oHwhNUud1be1qk,7055
|
57
57
|
dcicutils/redis_utils.py,sha256=VJ-7g8pOZqR1ZCtdcjKz3-6as2DMUcs1b1zG6wSprH4,6462
|
58
58
|
dcicutils/s3_utils.py,sha256=LauLFQGvZLfpBJ81tYMikjLd3SJRz2R_FrL1n4xSlyI,28868
|
59
|
-
dcicutils/schema_utils.py,sha256=
|
59
|
+
dcicutils/schema_utils.py,sha256=GmRm-XqZKJ6qine16SQF1txcby9WougDav_sYmKNs9E,12400
|
60
60
|
dcicutils/scripts/publish_to_pypi.py,sha256=LFzNHIQK2EXFr88YcfctyA_WKEBFc1ElnSjWrCXedPM,13889
|
61
61
|
dcicutils/scripts/run_license_checker.py,sha256=z2keYnRDZsHQbTeo1XORAXSXNJK5axVzL5LjiNqZ7jE,4184
|
62
62
|
dcicutils/scripts/view_portal_object.py,sha256=HZzM44BDcGycO9XTOTZyP-F7PRMZaZrnFfiqiT7Qvqg,29777
|
@@ -73,8 +73,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
|
73
73
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
74
74
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
75
75
|
dcicutils/zip_utils.py,sha256=_Y9EmL3D2dUZhxucxHvrtmmlbZmK4FpSsHEb7rGSJLU,3265
|
76
|
-
dcicutils-8.
|
77
|
-
dcicutils-8.
|
78
|
-
dcicutils-8.
|
79
|
-
dcicutils-8.
|
80
|
-
dcicutils-8.
|
76
|
+
dcicutils-8.11.0.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
77
|
+
dcicutils-8.11.0.dist-info/METADATA,sha256=fyL2AYscpmbInho84YaFcHMIhk_YTUXPw3MvvmPO9s0,3436
|
78
|
+
dcicutils-8.11.0.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
79
|
+
dcicutils-8.11.0.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
80
|
+
dcicutils-8.11.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|