|
2 | 2 | from types import MappingProxyType |
3 | 3 | from typing import Final |
4 | 4 |
|
| 5 | +from .services_constants import ( |
| 6 | + COMPUTATIONAL_SERVICE_KEY_PREFIX, |
| 7 | + DYNAMIC_SERVICE_KEY_PREFIX, |
| 8 | + FRONTEND_SERVICE_KEY_PREFIX, |
| 9 | + SERVICE_TYPE_TO_NAME_MAP, |
| 10 | +) |
5 | 11 | from .services_enums import ServiceType |
6 | 12 |
|
7 | 13 | PROPERTY_TYPE_RE = r"^(number|integer|boolean|string|ref_contentSchema|data:([^/\s,]+/[^/\s,]+|\[[^/\s,]+/[^/\s,]+(,[^/\s]+/[^/,\s]+)*\]))$" |
|
14 | 20 |
|
15 | 21 | FILENAME_RE = r".+" |
16 | 22 |
|
17 | | - |
18 | | -SERVICE_TYPE_TO_NAME_MAP = MappingProxyType( |
19 | | - { |
20 | | - ServiceType.COMPUTATIONAL: "comp", |
21 | | - ServiceType.DYNAMIC: "dynamic", |
22 | | - ServiceType.FRONTEND: "frontend", |
23 | | - } |
24 | | -) |
25 | | - |
26 | 23 | # e.g. simcore/services/comp/opencor |
27 | 24 | SERVICE_KEY_RE: Final[re.Pattern[str]] = re.compile( |
28 | 25 | r"^simcore/services/" |
|
40 | 37 | ) |
41 | 38 |
|
42 | 39 |
|
43 | | -def create_key_prefix(service_type: ServiceType) -> str: |
44 | | - return f"simcore/services/{SERVICE_TYPE_TO_NAME_MAP[service_type]}" |
45 | | - |
46 | | - |
47 | | -COMPUTATIONAL_SERVICE_KEY_PREFIX: Final[str] = create_key_prefix( |
48 | | - ServiceType.COMPUTATIONAL |
49 | | -) |
50 | | -DYNAMIC_SERVICE_KEY_PREFIX: Final[str] = create_key_prefix(ServiceType.DYNAMIC) |
51 | | -FRONTEND_SERVICE_KEY_PREFIX: Final[str] = create_key_prefix(ServiceType.FRONTEND) |
52 | | - |
53 | | - |
54 | | -def create_key_regex(service_type: ServiceType) -> re.Pattern[str]: |
| 40 | +def _create_key_regex(service_type: ServiceType) -> re.Pattern[str]: |
55 | 41 | return re.compile( |
56 | 42 | rf"^simcore/services/{SERVICE_TYPE_TO_NAME_MAP[service_type]}/" |
57 | 43 | r"(?P<subdir>[a-z0-9][a-z0-9_.-]*/)*" |
58 | 44 | r"(?P<name>[a-z0-9-_]+[a-z0-9])$" |
59 | 45 | ) |
60 | 46 |
|
61 | 47 |
|
62 | | -def create_key_format(service_type: ServiceType) -> str: |
| 48 | +def _create_key_format(service_type: ServiceType) -> str: |
63 | 49 | return f"simcore/services/{SERVICE_TYPE_TO_NAME_MAP[service_type]}/{{service_name}}" |
64 | 50 |
|
65 | 51 |
|
66 | | -COMPUTATIONAL_SERVICE_KEY_RE: Final[re.Pattern[str]] = create_key_regex( |
| 52 | +COMPUTATIONAL_SERVICE_KEY_RE: Final[re.Pattern[str]] = _create_key_regex( |
67 | 53 | ServiceType.COMPUTATIONAL |
68 | 54 | ) |
69 | | -COMPUTATIONAL_SERVICE_KEY_FORMAT: Final[str] = create_key_format( |
| 55 | +COMPUTATIONAL_SERVICE_KEY_FORMAT: Final[str] = _create_key_format( |
70 | 56 | ServiceType.COMPUTATIONAL |
71 | 57 | ) |
72 | 58 |
|
73 | | -DYNAMIC_SERVICE_KEY_RE: Final[re.Pattern[str]] = create_key_regex(ServiceType.DYNAMIC) |
74 | | -DYNAMIC_SERVICE_KEY_FORMAT: Final[str] = create_key_format(ServiceType.DYNAMIC) |
| 59 | +DYNAMIC_SERVICE_KEY_RE: Final[re.Pattern[str]] = _create_key_regex(ServiceType.DYNAMIC) |
| 60 | +DYNAMIC_SERVICE_KEY_FORMAT: Final[str] = _create_key_format(ServiceType.DYNAMIC) |
75 | 61 |
|
76 | | -FRONTEND_SERVICE_KEY_RE: Final[re.Pattern[str]] = create_key_regex(ServiceType.FRONTEND) |
77 | | -FRONTEND_SERVICE_KEY_FORMAT: Final[str] = create_key_format(ServiceType.FRONTEND) |
| 62 | +FRONTEND_SERVICE_KEY_RE: Final[re.Pattern[str]] = _create_key_regex( |
| 63 | + ServiceType.FRONTEND |
| 64 | +) |
| 65 | +FRONTEND_SERVICE_KEY_FORMAT: Final[str] = _create_key_format(ServiceType.FRONTEND) |
78 | 66 |
|
79 | 67 |
|
80 | 68 | SERVICE_TYPE_TO_PREFIX_MAP = MappingProxyType( |
|
0 commit comments