Fixing reports on installers (#3623)

* adding hook

* forgot to add if statement

Co-authored-by: Chavithra <chavithra@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
This commit is contained in:
James Simmons
2022-11-28 12:21:22 -06:00
committed by GitHub
parent d712fce7cb
commit c7d0c98aa8
3 changed files with 43 additions and 4 deletions

View File

@@ -0,0 +1,39 @@
# Runtime hook copied from pyinstaller
import inspect
import os
import sys
# pylint:disable=W0622,W0212,E1101
_orig_inspect_getsourcefile = inspect.getsourcefile
# Provide custom implementation of inspect.getsourcefile() for frozen applications that properly resolves relative
# filenames obtained from object (e.g., inspect stack-frames). See #5963.
def _pyi_getsourcefile(object):
filename = inspect.getfile(object)
if not os.path.isabs(filename):
# Check if given filename matches the basename of __main__'s __file__.
if hasattr(sys.modules["__main__"], "__file__"):
main_file = sys.modules["__main__"].__file__
if filename == os.path.basename(main_file):
return main_file
# If filename ends with .py suffix and does not correspond to frozen entry-point script, convert it to
# corresponding .pyc in sys._MEIPASS.
if filename.endswith(".py"):
filename = os.path.normpath(os.path.join(sys._MEIPASS, filename + "c"))
# Ensure the relative path did not try to jump out of sys._MEIPASS, just in case...
if filename.startswith(sys._MEIPASS):
return filename
elif filename.startswith(sys._MEIPASS) and filename.endswith(".pyc"):
# If filename is already PyInstaller-compatible, prevent any further processing (i.e., with original
# implementation).
return filename
# Use original implementation as a fallback.
return _orig_inspect_getsourcefile(object)
inspect.getsourcefile = _pyi_getsourcefile

View File

@@ -44,6 +44,8 @@ added_files = [
(os.path.join(pathex, "user_agent"), "user_agent"),
(os.path.join(pathex, "vaderSentiment"), "vaderSentiment"),
(os.path.join(pathex, "prophet"), "prophet"),
(os.path.join(pathex, "riskfolio"), "riskfolio"),
(os.path.join(pathex, "astropy"), "astropy"),
(os.path.join(pathex, "frozendict", "VERSION"), "frozendict"),
(
os.path.join(pathex, "linearmodels", "datasets"),
@@ -91,6 +93,8 @@ hidden_imports = [
"_sysconfigdata__darwin_darwin",
"prophet",
"debugpy",
"riskfolio",
"astropy",
]

View File

@@ -20,7 +20,6 @@ from openbb_terminal.decorators import log_start_end
from openbb_terminal.menu import session
from openbb_terminal.parent_classes import BaseController
from openbb_terminal.rich_config import console, MenuText
from openbb_terminal.terminal_helper import is_packaged_application
logger = logging.getLogger(__name__)
@@ -145,9 +144,6 @@ class ReportController(BaseController):
@log_start_end(log=logger)
def call_forecast(self, other_args: List[str]):
if is_packaged_application():
console.print("This report is disabled for the installed version")
return
try:
import darts # pyright: reportMissingImports=false # noqa: F401, E501 #pylint: disable=import-outside-toplevel, unused-import