Skip to content

Commit

Permalink
Moved conditions prop into status structure
Browse files Browse the repository at this point in the history
  • Loading branch information
forman committed Mar 2, 2021
1 parent 24f075f commit 55ed6b9
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 19 deletions.
5 changes: 3 additions & 2 deletions xcube/core/gen2/service/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@ def _get_cube_generation_result(cls, response: requests.Response) -> Result:
result = response_instance.result
if result.status.failed:
message = 'Cube generation failed'
if result.conditions:
sub_messages = [item['message'] or '' for item in result.conditions
if result.status.conditions:
sub_messages = [item['message'] or '' for item in result.status.conditions
if isinstance(item, dict) and 'message' in item]
message = f'{message}: {": ".join(sub_messages)}'
raise CubeGeneratorError(message,
Expand All @@ -146,6 +146,7 @@ def _parse_response(cls, response: requests.Response, response_type: Type[R]) ->
try:
return response_type.from_dict(data)
except Exception as e:
print(data)
raise RuntimeError(f'internal error: unexpected response'
f' from API call {response.url}: {e}') from e

Expand Down
30 changes: 13 additions & 17 deletions xcube/core/gen2/service/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,15 @@ def __init__(self,
active: int = None,
start_time: str = None,
completion_time: str = None,
conditions=None,
progress=None,
conditions: List[Dict[str, Any]] = None,
**additional_properties):
self.succeeded = succeeded
self.failed = failed
self.active = active
self.start_time = start_time
self.completion_time = completion_time
self.conditions = conditions
self.additional_properties = additional_properties
self.succeeded: Optional[int] = succeeded
self.failed: Optional[int] = failed
self.active: Optional[int] = active
self.start_time: Optional[str] = start_time
self.completion_time: Optional[str] = completion_time
self.conditions: Optional[Dict[str, Any]] = conditions
self.additional_properties: Dict[str, Any] = additional_properties

@classmethod
def get_schema(cls) -> JsonObjectSchema:
Expand All @@ -75,7 +74,10 @@ def get_schema(cls) -> JsonObjectSchema:
active=JsonIntegerSchema(nullable=True),
start_time=JsonStringSchema(nullable=True),
completion_time=JsonStringSchema(nullable=True),
conditions=JsonArraySchema(nullable=True)),
conditions=JsonArraySchema(
items=JsonObjectSchema(additional_properties=True),
nullable=True
)),
additional_properties=True,
factory=cls)

Expand Down Expand Up @@ -148,14 +150,12 @@ def __init__(self,
status: Status,
output: List[str] = None,
progress: List[Progress] = None,
conditions: List[Dict[str, Any]] = None,
**additional_properties):
self.cubegen_id: str = cubegen_id
self.status: Status = status
self.output: Optional[List[str]] = output
self.progress: Optional[List[Progress]] = progress
self.conditions: Optional[List[Dict[str, Any]]] = conditions
self.additional_properties = additional_properties
self.additional_properties: Dict[str, Any] = additional_properties

@classmethod
def get_schema(cls) -> JsonObjectSchema:
Expand All @@ -168,10 +168,6 @@ def get_schema(cls) -> JsonObjectSchema:
progress=JsonArraySchema(
items=Progress.get_schema(),
nullable=True
),
conditions=JsonArraySchema(
items=JsonObjectSchema(additional_properties=True),
nullable=True
)),
required=['cubegen_id', 'status'],
additional_properties=True,
Expand Down

0 comments on commit 55ed6b9

Please sign in to comment.