From a1cb3ddbe9e7db58ea9731d27beb317437aee797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20F=C3=B6rster?= Date: Wed, 5 Mar 2025 15:05:53 +0100 Subject: [PATCH] rearrange types --- src/delta_barth/_management.py | 4 ++-- src/delta_barth/types.py | 33 +++++++++++++++++---------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/delta_barth/_management.py b/src/delta_barth/_management.py index 81fbe4a..1efc23c 100644 --- a/src/delta_barth/_management.py +++ b/src/delta_barth/_management.py @@ -1,5 +1,5 @@ from typing import Final -from delta_barth.errors import ErrorHandler +from delta_barth.errors import StateHandler -ERROR_HANDLER: Final[ErrorHandler] = ErrorHandler() +STATE_HANDLER: Final[StateHandler] = StateHandler() diff --git a/src/delta_barth/types.py b/src/delta_barth/types.py index 5930183..0c09eaf 100644 --- a/src/delta_barth/types.py +++ b/src/delta_barth/types.py @@ -8,17 +8,31 @@ from typing import NotRequired, TypeAlias, TypedDict import pandas as pd from pydantic import BaseModel, SkipValidation -# ** API -ErrorDescription: TypeAlias = tuple[str, int, str] +# ** Pipeline state management +StatusDescription: TypeAlias = tuple[str, int, str] class Status(BaseModel): - status_code: SkipValidation[int] + code: SkipValidation[int] description: SkipValidation[str] message: SkipValidation[str] = "" api_server_error: SkipValidation[DelBarApiError | None] = None +@dataclass(slots=True) +class DataPipeStates: + SUCCESS: Status + TOO_FEW_POINTS: Status + BAD_QUALITY: Status + + +@dataclass(slots=True) +class PipeResult: + status: Status + data: pd.DataFrame | None + + +# ** API class DelBarApiError(BaseModel): status_code: int message: str = "" @@ -30,13 +44,6 @@ class DelBarApiError(BaseModel): traceId: str | None = None -@dataclass(slots=True) -class DataPipeStates: - SUCCESS: Status - TOO_FEW_POINTS: Status - BAD_QUALITY: Status - - class HttpRequestTypes(enum.StrEnum): GET = enum.auto() POST = enum.auto() @@ -101,9 +108,3 @@ class CustomerDataSalesForecast: order: list[int] = field(default_factory=list) date: list[pd.Timestamp] = field(default_factory=list) sales: list[float] = field(default_factory=list) - - -@dataclass(slots=True) -class PipeResult: - status: Status - data: pd.DataFrame | None