take app utilities from container, that puts them in all menus

This commit is contained in:
Diogo Sousa
2023-07-24 19:16:54 +01:00
parent 42c0535afe
commit 176831ef00
6 changed files with 79 additions and 65 deletions

View File

@@ -1,12 +1,16 @@
# pylint: disable=W0231:super-init-not-called
from openbb_core.app.command_runner import CommandRunnerSession
from openbb_core.app.model.system_settings import SystemSettings
from openbb_core.app.model.user_settings import UserSettings
from openbb_core.app.static.account import Account
from openbb_core.app.static.coverage import Coverage
def create_app():
try:
# pylint: disable=import-outside-toplevel
from openbb_core.app.static.package.app import App
from openbb_core.app.static.package.__commands__ import Commands
except ImportError as e:
raise Exception(
"If you are seeing this exception, you should probably be doing: "
@@ -14,4 +18,44 @@ def create_app():
"PackageBuilder.build()"
) from e
class App(Commands):
"""Here you can access all the basic utility menus and extensions.
Basic utility menus:
- account
- settings
- system
- coverage
Built-in extensions:
- charting: utility extension common to all built-in extensions
- crypto
- economy
- fixedincome
- forex
- news
- stocks
"""
def __init__(self, command_runner_session):
self._command_runner_session = command_runner_session
self._account = Account(self)
self._coverage = Coverage()
@property
def account(self) -> Account:
return self._account
@property
def settings(self) -> UserSettings:
return self._command_runner_session.user_settings
@property
def system(self) -> SystemSettings:
return self._command_runner_session.command_runner.system_settings
@property
def coverage(self) -> Coverage:
return self._coverage
return App(command_runner_session=CommandRunnerSession())

View File

@@ -1,37 +1,6 @@
from openbb_core.app.command_runner import CommandRunnerSession
from openbb_core.app.model.system_settings import SystemSettings
from openbb_core.app.model.user_settings import UserSettings
from openbb_core.app.static.account import Account
from openbb_core.app.static.coverage import Coverage
class Container:
"""Here you can access all the basic utility menus.
Basic utility menus:
- account
- settings
- system
- coverage
"""
def __init__(self, command_runner_session: CommandRunnerSession) -> None:
self._command_runner_session = command_runner_session
self._account = Account(self)
self._coverage = Coverage()
@property
def account(self) -> Account:
return self._account
@property
def settings(self) -> UserSettings:
return self._command_runner_session.user_settings
@property
def system(self) -> SystemSettings:
return self._command_runner_session.command_runner.system_settings
@property
def coverage(self) -> Coverage:
return self._coverage

View File

@@ -1,10 +1,11 @@
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
from openbb_core.app.static.container import Container
class App(Container):
class Commands(Container):
@property
def crypto(self): # route = "/crypto"
from openbb_core.app.static.package import crypto

View File

@@ -19,7 +19,7 @@ class CLASS_economy(Container):
def corecpi(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""CORECPI."""
inputs = filter_inputs(
@@ -248,7 +248,7 @@ class CLASS_economy(Container):
def cpi_options(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""Get the options for v3 cpi(options=True)"""
inputs = filter_inputs(
@@ -448,7 +448,7 @@ class CLASS_economy(Container):
def macro(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""Query EconDB for macro data."""
inputs = filter_inputs(
@@ -470,7 +470,7 @@ class CLASS_economy(Container):
def macro_countries(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""MACRO_COUNTRIES."""
inputs = filter_inputs(
@@ -492,7 +492,7 @@ class CLASS_economy(Container):
def macro_parameters(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""MACRO_PARAMETERS."""
inputs = filter_inputs(
@@ -514,7 +514,7 @@ class CLASS_economy(Container):
def balance(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""BALANCE."""
inputs = filter_inputs(
@@ -536,7 +536,7 @@ class CLASS_economy(Container):
def bigmac(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""BIGMAC."""
inputs = filter_inputs(
@@ -558,7 +558,7 @@ class CLASS_economy(Container):
def country_codes(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""COUNTRY_CODES."""
inputs = filter_inputs(
@@ -580,7 +580,7 @@ class CLASS_economy(Container):
def currencies(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""CURRENCIES."""
inputs = filter_inputs(
@@ -602,7 +602,7 @@ class CLASS_economy(Container):
def debt(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""DEBT."""
inputs = filter_inputs(
@@ -624,7 +624,7 @@ class CLASS_economy(Container):
def events(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""EVENTS."""
inputs = filter_inputs(
@@ -646,7 +646,7 @@ class CLASS_economy(Container):
def fgdp(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""FGDP."""
inputs = filter_inputs(
@@ -668,7 +668,7 @@ class CLASS_economy(Container):
def fred(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""FRED."""
inputs = filter_inputs(
@@ -690,7 +690,7 @@ class CLASS_economy(Container):
def fred_search(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""FRED Search (was fred_notes)."""
inputs = filter_inputs(
@@ -712,7 +712,7 @@ class CLASS_economy(Container):
def futures(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""FUTURES. 2 sources"""
inputs = filter_inputs(
@@ -734,7 +734,7 @@ class CLASS_economy(Container):
def gdp(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""GDP."""
inputs = filter_inputs(
@@ -756,7 +756,7 @@ class CLASS_economy(Container):
def glbonds(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""GLBONDS."""
inputs = filter_inputs(
@@ -778,7 +778,7 @@ class CLASS_economy(Container):
def indices(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""INDICES."""
inputs = filter_inputs(
@@ -800,7 +800,7 @@ class CLASS_economy(Container):
def overview(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""OVERVIEW."""
inputs = filter_inputs(
@@ -822,7 +822,7 @@ class CLASS_economy(Container):
def perfmap(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""PERFMAP."""
inputs = filter_inputs(
@@ -844,7 +844,7 @@ class CLASS_economy(Container):
def performance(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""PERFORMANCE."""
inputs = filter_inputs(
@@ -866,7 +866,7 @@ class CLASS_economy(Container):
def revenue(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""REVENUE."""
inputs = filter_inputs(
@@ -888,7 +888,7 @@ class CLASS_economy(Container):
def rgdp(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""RGDP."""
inputs = filter_inputs(
@@ -910,7 +910,7 @@ class CLASS_economy(Container):
def rtps(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""RTPS."""
inputs = filter_inputs(
@@ -932,7 +932,7 @@ class CLASS_economy(Container):
def search_index(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""SEARCH_INDEX."""
inputs = filter_inputs(
@@ -954,7 +954,7 @@ class CLASS_economy(Container):
def spending(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""SPENDING."""
inputs = filter_inputs(
@@ -976,7 +976,7 @@ class CLASS_economy(Container):
def trust(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""TRUST."""
inputs = filter_inputs(
@@ -998,7 +998,7 @@ class CLASS_economy(Container):
def usbonds(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""USBONDS."""
inputs = filter_inputs(
@@ -1020,7 +1020,7 @@ class CLASS_economy(Container):
def valuation(
self,
chart: bool = False,
provider: Optional[Literal["fmp", "fred", "polygon", "benzinga"]] = None,
provider: Optional[Literal["fred", "polygon", "benzinga", "fmp"]] = None,
) -> CommandOutput[openbb_core.app.model.results.empty.Empty]:
"""VALUATION."""
inputs = filter_inputs(

View File

@@ -1,6 +1,6 @@
{
"crypto_load": "/crypto/load",
"app": "",
"__commands__": "",
"crypto": "/crypto",
"economy_corecpi": "/economy/corecpi",
"economy": "/economy",

View File

@@ -629,13 +629,13 @@ class PathHandler:
@classmethod
def build_module_name(cls, path: str) -> str:
if path == "":
return "app"
return "__commands__"
return cls.clean_path(path=path)
@classmethod
def build_module_class(cls, path: str) -> str:
if path == "":
return "App"
return "Commands"
return f"CLASS_{cls.clean_path(path=path)}"