dangerzone/dangerzone/__init__.py
Alex Pyrgiotis 91fbc466c5
Add an import preference for vendored packages
Prefer importing packages from ./dangerzone/vendor, if there is one
there, instead of using the system ones.
2024-10-15 14:58:06 +03:00

29 lines
689 B
Python

import logging
import os
import sys
logger = logging.getLogger(__name__)
try:
from . import vendor # type: ignore [attr-defined]
vendor_path: str = vendor.__path__[0]
logger.debug(f"Using vendored PyMuPDF libraries from '{vendor_path}'")
sys.path.insert(0, vendor_path)
except ImportError:
pass
if "DANGERZONE_MODE" in os.environ:
mode = os.environ["DANGERZONE_MODE"]
else:
basename = os.path.basename(sys.argv[0])
if basename == "dangerzone-cli" or basename == "dangerzone-cli.exe":
mode = "cli"
else:
mode = "gui"
if mode == "cli":
from .cli import cli_main as main
else:
from .gui import gui_main as main # noqa: F401