diff --git a/polytope_server/common/datasource/coercion.py b/polytope_server/common/datasource/coercion.py index bf1123f..6cb73f5 100644 --- a/polytope_server/common/datasource/coercion.py +++ b/polytope_server/common/datasource/coercion.py @@ -9,12 +9,8 @@ class CoercionError(Exception): class Coercion: - allow_ranges = [ - "number", - "step", - "date", - ] - allow_lists = ["class", "stream", "type", "expver", "param", "number", "date", "step"] + allow_ranges = ["number", "step", "date", "time"] + allow_lists = ["class", "stream", "type", "expver", "param", "number", "date", "step", "time"] @staticmethod def coerce(request: Dict[str, Any]) -> Dict[str, Any]: @@ -198,9 +194,9 @@ def coerce_time(value: Any) -> str: if minute != 0: raise CoercionError("Invalid time format, expected HHMM or HH.") - # Format time as HHMM - time_str = f"{hour:02d}{minute:02d}" - return time_str + # # Format time as HHMM + # time_str = f"{hour:02d}{minute:02d}" + # return time_str # Validate hour and minute if not (0 <= hour <= 23): diff --git a/polytope_server/common/datasource/polytope.py b/polytope_server/common/datasource/polytope.py index 9050a92..4e9e5ac 100644 --- a/polytope_server/common/datasource/polytope.py +++ b/polytope_server/common/datasource/polytope.py @@ -211,14 +211,14 @@ def match(self, request): if "feature" not in r: raise Exception("request does not contain key 'feature'") - # Check that there is only one value if required - for k, v in r.items(): - if k in self.req_single_keys: - v = [v] if isinstance(v, str) else v - if len(v) > 1: - raise Exception("key '{}' cannot accept a list yet. This feature is planned.".format(k)) - elif len(v) == 0: - raise Exception("Expected a value for key {}".format(k)) + # # Check that there is only one value if required + # for k, v in r.items(): + # if k in self.req_single_keys: + # v = [v] if isinstance(v, str) else v + # if len(v) > 1: + # raise Exception("key '{}' cannot accept a list yet. This feature is planned.".format(k)) + # elif len(v) == 0: + # raise Exception("Expected a value for key {}".format(k)) for k, v in self.match_rules.items(): # Check that all required keys exist diff --git a/skaffold.yaml b/skaffold.yaml index 6a41b37..8f98b2c 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -1,4 +1,3 @@ - apiVersion: skaffold/v4beta10 kind: Config @@ -18,8 +17,15 @@ build: concurrency: 1 tagPolicy: - gitCommit: - ignoreChanges: true + customTemplate: + template: "{{.PREFIX}}{{.GIT_TAG}}" + components: + - name: PREFIX + envTemplate: + template: '{{default "" .PREFIX}}' + - name: GIT_TAG + gitCommit: + ignoreChanges: true artifacts: @@ -28,19 +34,19 @@ build: docker: target: polytope-common buildArgs: - developer_mode: "{{ .developer_mode }}" + developer_mode: '{{ default "false" .developer_mode }}' # Worker with all clients (FDB, GribJump, MARS C, MARS CPP) - image: "worker" docker: target: worker buildArgs: - rpm_repo: "{{ .rpm_repo }}" - mars_config_repo: "{{ .mars_config_repo }}" - mars_config_branch: "{{ .mars_config_branch }}" - developer_mode: "{{ .developer_mode }}" + rpm_repo: '{{ .rpm_repo }}' + mars_config_repo: '{{ .mars_config_repo }}' + mars_config_branch: '{{ .mars_config_branch }}' + developer_mode: '{{ .developer_mode }}' # mars_client_c_version: 6.33.20.2 - gribjump_version: 0.8.0 + gribjump_version: '{{ default "0.8.0" .gribjump_version }}' # mars_client_cpp_version: 6.99.3.0 # ecbuild_version: 3.8.2 # eccodes_version: 2.33.1