From 9bb64998e2a2b76c5fb737fc07d03a2f48bb29a1 Mon Sep 17 00:00:00 2001 From: Diogo Sousa Date: Fri, 18 Aug 2023 11:45:50 +0100 Subject: [PATCH] move OpenBBError class to error model --- openbb_sdk/sdk/core/openbb_core/api/rest_api.py | 2 +- openbb_sdk/sdk/core/openbb_core/app/command_runner.py | 3 ++- .../sdk/core/openbb_core/app/model/abstract/error.py | 10 +++++++++- openbb_sdk/sdk/core/openbb_core/app/model/obbject.py | 10 +--------- .../sdk/core/openbb_core/app/service/hub_service.py | 5 +---- openbb_sdk/sdk/core/openbb_core/app/static/account.py | 5 +---- openbb_sdk/sdk/core/openbb_core/app/static/filters.py | 5 +---- 7 files changed, 16 insertions(+), 24 deletions(-) diff --git a/openbb_sdk/sdk/core/openbb_core/api/rest_api.py b/openbb_sdk/sdk/core/openbb_core/api/rest_api.py index ee5df73b4ab..2c4d85d722b 100644 --- a/openbb_sdk/sdk/core/openbb_core/api/rest_api.py +++ b/openbb_sdk/sdk/core/openbb_core/api/rest_api.py @@ -8,7 +8,7 @@ from openbb_core.api.router.commands import router as router_commands from openbb_core.api.router.coverage import router as router_coverage from openbb_core.api.router.settings import router as router_settings from openbb_core.api.router.system import router as router_system -from openbb_core.app.model.obbject import OpenBBError +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.model.profile import Profile from openbb_core.app.model.user_settings import UserSettings diff --git a/openbb_sdk/sdk/core/openbb_core/app/command_runner.py b/openbb_sdk/sdk/core/openbb_core/app/command_runner.py index 7b10600c1dc..bd7c9a54ec9 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/command_runner.py +++ b/openbb_sdk/sdk/core/openbb_core/app/command_runner.py @@ -11,13 +11,14 @@ from pydantic import BaseConfig, Extra, create_model from openbb_core.app.charting_manager import ChartingManager from openbb_core.app.logs.logging_manager import LoggingManager +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.model.abstract.warning import cast_warning from openbb_core.app.model.charts.chart import Chart from openbb_core.app.model.command_context import CommandContext from openbb_core.app.model.journal import Journal from openbb_core.app.model.journal_entry import JournalEntry from openbb_core.app.model.journal_query import JournalQuery -from openbb_core.app.model.obbject import Error, OBBject, OpenBBError +from openbb_core.app.model.obbject import Error, OBBject from openbb_core.app.model.system_settings import SystemSettings from openbb_core.app.model.user_settings import UserSettings from openbb_core.app.router import CommandMap diff --git a/openbb_sdk/sdk/core/openbb_core/app/model/abstract/error.py b/openbb_sdk/sdk/core/openbb_core/app/model/abstract/error.py index f848220f8c3..db0fedfb279 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/model/abstract/error.py +++ b/openbb_sdk/sdk/core/openbb_core/app/model/abstract/error.py @@ -1,4 +1,4 @@ -from typing import Optional +from typing import Optional, Union from pydantic import BaseModel @@ -6,3 +6,11 @@ from pydantic import BaseModel class Error(BaseModel): message: str error_kind: Optional[str] = None + + +class OpenBBError(Exception): + """OpenBB Error.""" + + def __init__(self, original: Optional[Union[str, Exception]] = None): + self.original = original + super().__init__(str(original)) diff --git a/openbb_sdk/sdk/core/openbb_core/app/model/obbject.py b/openbb_sdk/sdk/core/openbb_core/app/model/obbject.py index b9d2f0c3987..bf041fc9ac5 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/model/obbject.py +++ b/openbb_sdk/sdk/core/openbb_core/app/model/obbject.py @@ -5,7 +5,7 @@ from pydantic import Field from pydantic.generics import GenericModel from openbb_core.app.charting_manager import ChartingManager -from openbb_core.app.model.abstract.error import Error +from openbb_core.app.model.abstract.error import Error, OpenBBError from openbb_core.app.model.abstract.tagged import Tagged from openbb_core.app.model.abstract.warning import Warning_ from openbb_core.app.model.charts.chart import Chart @@ -16,14 +16,6 @@ T = TypeVar("T") PROVIDERS = get_provider_interface().providers_literal -class OpenBBError(Exception): - """OpenBB Error.""" - - def __init__(self, original: Optional[Exception] = None): - self.original = original - super().__init__(str(original)) - - class OBBject(GenericModel, Generic[T], Tagged): results: Optional[T] = Field( default=None, diff --git a/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py b/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py index 4976d08c3a4..c5ef4f265b2 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py +++ b/openbb_sdk/sdk/core/openbb_core/app/service/hub_service.py @@ -5,6 +5,7 @@ from fastapi import HTTPException from jose import JWTError from jose.exceptions import ExpiredSignatureError from jose.jwt import decode, get_unverified_header +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.model.credentials import Credentials from openbb_core.app.model.hub.features_keys import FeaturesKeys from openbb_core.app.model.hub.hub_session import HubSession @@ -14,10 +15,6 @@ from openbb_core.app.model.user_settings import UserSettings from requests import get, post, put -class OpenBBError(Exception): - """OpenBB error.""" - - class HubService: """Manage Hub service class.""" diff --git a/openbb_sdk/sdk/core/openbb_core/app/static/account.py b/openbb_sdk/sdk/core/openbb_core/app/static/account.py index 20d5b16b6dd..11d0f0f3dcc 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/static/account.py +++ b/openbb_sdk/sdk/core/openbb_core/app/static/account.py @@ -4,6 +4,7 @@ from pathlib import Path from typing import TYPE_CHECKING, Optional from openbb_core.app.command_runner import CommandRunnerSession +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.model.hub.hub_session import HubSession from openbb_core.app.model.user_settings import UserSettings from openbb_core.app.service.hub_service import HubService @@ -13,10 +14,6 @@ if TYPE_CHECKING: from openbb_core.app.static.container import Container -class OpenBBError(Exception): - pass - - class Account: def __init__(self, container: "Container"): self._container = container diff --git a/openbb_sdk/sdk/core/openbb_core/app/static/filters.py b/openbb_sdk/sdk/core/openbb_core/app/static/filters.py index ca74038b665..6a8e1089cfb 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/static/filters.py +++ b/openbb_sdk/sdk/core/openbb_core/app/static/filters.py @@ -6,15 +6,12 @@ from functools import wraps import pandas as pd from pydantic import ValidationError +from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.model.abstract.warning import OpenBBWarning from openbb_core.app.model.obbject import OBBject from openbb_core.app.utils import df_to_basemodel -class OpenBBError(Exception): - """A custom exception for OpenBB errors.""" - - def filter_call(func): """Filter command call."""