mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 12:40:35 +00:00
[Feature] CLI logging (#6487)
* remove old logging references * cli as logging subapp option * changing the subapp to the cli on init
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
import sys
|
||||
|
||||
from openbb_cli.utils.utils import change_logging_sub_app, reset_logging_sub_app
|
||||
|
||||
|
||||
def main():
|
||||
"""Use the main entry point for the OpenBB Platform CLI."""
|
||||
@@ -20,4 +22,10 @@ def main():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
initial_logging_sub_app = change_logging_sub_app()
|
||||
try:
|
||||
main()
|
||||
except Exception as e:
|
||||
pass
|
||||
finally:
|
||||
reset_logging_sub_app(initial_logging_sub_app)
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
import argparse
|
||||
import contextlib
|
||||
import difflib
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
@@ -60,8 +59,6 @@ DATA_PROCESSING_ROUTERS = ["technical", "quantitative", "econometrics"]
|
||||
# pylint: disable=too-many-public-methods,import-outside-toplevel, too-many-function-args
|
||||
# pylint: disable=too-many-branches,no-member,C0302,too-many-return-statements, inconsistent-return-statements
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
env_file = str(ENV_FILE_SETTINGS)
|
||||
session = Session()
|
||||
|
||||
@@ -498,11 +495,6 @@ class CLIController(BaseController):
|
||||
|
||||
def handle_job_cmds(jobs_cmds: Optional[List[str]]) -> Optional[List[str]]:
|
||||
"""Handle job commands."""
|
||||
# If the path selected does not start from the user root,
|
||||
# give relative location from root
|
||||
if jobs_cmds is not None and jobs_cmds:
|
||||
logger.info("INPUT: %s", "/".join(jobs_cmds))
|
||||
|
||||
export_path = ""
|
||||
if jobs_cmds and "export" in jobs_cmds[0]:
|
||||
commands = jobs_cmds[0].split("/")
|
||||
@@ -620,10 +612,6 @@ def run_cli(jobs_cmds: Optional[List[str]] = None, test_mode=False):
|
||||
break
|
||||
|
||||
except SystemExit:
|
||||
logger.exception(
|
||||
"The command '%s' doesn't exist on the / menu.",
|
||||
an_input,
|
||||
)
|
||||
session.console.print(
|
||||
f"[red]The command '{an_input}' doesn't exist on the / menu.[/red]\n",
|
||||
)
|
||||
|
||||
34
cli/openbb_cli/utils/utils.py
Normal file
34
cli/openbb_cli/utils/utils.py
Normal file
@@ -0,0 +1,34 @@
|
||||
"""OpenBB Platform CLI utilities."""
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
HOME_DIRECTORY = Path.home()
|
||||
OPENBB_PLATFORM_DIRECTORY = Path(HOME_DIRECTORY, ".openbb_platform")
|
||||
SYSTEM_SETTINGS_PATH = Path(OPENBB_PLATFORM_DIRECTORY, "system_settings.json")
|
||||
|
||||
|
||||
def change_logging_sub_app() -> str:
|
||||
"""Build OpenBB Platform setting files."""
|
||||
with open(SYSTEM_SETTINGS_PATH) as file:
|
||||
system_settings = json.load(file)
|
||||
|
||||
initial_logging_sub_app = system_settings.get("logging_sub_app", "")
|
||||
|
||||
system_settings["logging_sub_app"] = "cli"
|
||||
|
||||
with open(SYSTEM_SETTINGS_PATH, "w") as file:
|
||||
json.dump(system_settings, file, indent=4)
|
||||
|
||||
return initial_logging_sub_app
|
||||
|
||||
|
||||
def reset_logging_sub_app(initial_logging_sub_app: str):
|
||||
"""Reset OpenBB Platform setting files."""
|
||||
with open(SYSTEM_SETTINGS_PATH) as file:
|
||||
system_settings = json.load(file)
|
||||
|
||||
system_settings["logging_sub_app"] = initial_logging_sub_app
|
||||
|
||||
with open(SYSTEM_SETTINGS_PATH, "w") as file:
|
||||
json.dump(system_settings, file, indent=4)
|
||||
@@ -42,7 +42,7 @@ class SystemSettings(Tagged):
|
||||
logging_handlers: List[str] = Field(default_factory=lambda: ["file"])
|
||||
logging_rolling_clock: bool = False
|
||||
logging_verbosity: int = 20
|
||||
logging_sub_app: Literal["python", "api", "pro"] = "python"
|
||||
logging_sub_app: Literal["python", "api", "pro", "cli"] = "python"
|
||||
logging_suppress: bool = False
|
||||
log_collect: bool = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user