mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-03-09 08:06:17 +00:00
fix: prevent exception when load prediction data is missing (#925)
Some checks failed
Bump Version / Bump Version Workflow (push) Has been cancelled
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
Some checks failed
Bump Version / Bump Version Workflow (push) Has been cancelled
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
Validate solution prediction data before processing. If required prediction data is missing, the prediction is skipped instead of raising an exception. Introduce a new configuration file saving policy to improve loading robustness: - Exclude computed fields - Exclude fields set to their default values - Exclude fields with value None - Use field aliases - Recursively remove empty dictionaries and lists - Ensure general.version is always present and correctly set When loading older configuration files, computed fields are now stripped before migration. This further improves backward compatibility and loading robustness. Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
@@ -300,7 +300,7 @@ def fastapi_admin_database_stats_get() -> dict:
|
||||
except Exception as e:
|
||||
trace = "".join(traceback.TracebackException.from_exception(e).format())
|
||||
raise HTTPException(
|
||||
status_code=400, detail=f"Error on database statistic retrieval: {e}\n{trace}"
|
||||
status_code=400, detail=f"Error on database statistic retrieval:\n{e}\n{trace}"
|
||||
)
|
||||
return data
|
||||
|
||||
@@ -538,7 +538,7 @@ def fastapi_config_put_key(
|
||||
trace = "".join(traceback.TracebackException.from_exception(e).format())
|
||||
raise HTTPException(
|
||||
status_code=400,
|
||||
detail=f"Error on update of configuration '{path}','{value}': {e}\n{trace}",
|
||||
detail=f"Error on update of configuration '{path}','{value}':\n{e}\n{trace}",
|
||||
)
|
||||
|
||||
return get_config()
|
||||
@@ -937,7 +937,7 @@ async def fastapi_prediction_update(
|
||||
trace = "".join(traceback.TracebackException.from_exception(e).format())
|
||||
raise HTTPException(
|
||||
status_code=400,
|
||||
detail=f"Error on prediction update: {e}\n{trace}",
|
||||
detail=f"Error on prediction update:\n{e}\n{trace}",
|
||||
)
|
||||
|
||||
return Response()
|
||||
@@ -972,7 +972,7 @@ async def fastapi_prediction_update_provider(
|
||||
trace = "".join(traceback.TracebackException.from_exception(e).format())
|
||||
raise HTTPException(
|
||||
status_code=400,
|
||||
detail=f"Error on prediction update: {e}\n{trace}",
|
||||
detail=f"Error on prediction update:\n{e}\n{trace}",
|
||||
)
|
||||
|
||||
return Response()
|
||||
|
||||
Reference in New Issue
Block a user