hydraveil-gui/gui/v2/actions/operation_results.py
2026-08-29 12:30:34 -04:00

18 lines
636 B
Python
Executable file

from core.models.Result import Result, ResultError
def result_from_exception(exception: Exception, error_type: ResultError = ResultError.UNKNOWN) -> Result:
message = str(exception) or type(exception).__name__
return Result(valid=False, error_type=error_type, message=message)
def result_from_payload(payload) -> Result:
if isinstance(payload, Result):
return payload
if isinstance(payload, Exception):
return result_from_exception(payload)
return Result(
valid=False,
error_type=ResultError.UNKNOWN,
message=str(payload) or 'The operation could not be completed.',
)