[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:
Henrique Joaquim
2024-06-07 11:57:23 +01:00
committed by GitHub
parent d7a9e666b9
commit aa7bccc4ec
4 changed files with 44 additions and 14 deletions

View File

@@ -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)

View File

@@ -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",
)

View 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)