From 901e5f52666f36f7accbc95ace2d9abbc4f6c993 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 31 Aug 2021 18:24:24 +0200 Subject: [PATCH] refactor common code, change handling of env var --- igniter/install_dialog.py | 33 +++--------------------------- igniter/nice_progress_bar.py | 20 ++++++++++++++++++ igniter/tools.py | 12 +++++++++++ igniter/update_window.py | 39 ++---------------------------------- start.py | 12 +++++++---- 5 files changed, 45 insertions(+), 71 deletions(-) create mode 100644 igniter/nice_progress_bar.py diff --git a/igniter/install_dialog.py b/igniter/install_dialog.py index 1ec8cc6768..1fe67e3397 100644 --- a/igniter/install_dialog.py +++ b/igniter/install_dialog.py @@ -14,21 +14,13 @@ from .tools import ( validate_mongo_connection, get_openpype_path_from_db ) + +from .nice_progress_bar import NiceProgressBar from .user_settings import OpenPypeSecureRegistry +from .tools import load_stylesheet from .version import __version__ -def load_stylesheet(): - stylesheet_path = os.path.join( - os.path.dirname(__file__), - "stylesheet.css" - ) - with open(stylesheet_path, "r") as file_stream: - stylesheet = file_stream.read() - - return stylesheet - - class ButtonWithOptions(QtWidgets.QFrame): option_clicked = QtCore.Signal(str) @@ -91,25 +83,6 @@ class ButtonWithOptions(QtWidgets.QFrame): self.option_clicked.emit(self._default_value) -class NiceProgressBar(QtWidgets.QProgressBar): - def __init__(self, parent=None): - super(NiceProgressBar, self).__init__(parent) - self._real_value = 0 - - def setValue(self, value): - self._real_value = value - if value != 0 and value < 11: - value = 11 - - super(NiceProgressBar, self).setValue(value) - - def value(self): - return self._real_value - - def text(self): - return "{} %".format(self._real_value) - - class ConsoleWidget(QtWidgets.QWidget): def __init__(self, parent=None): super(ConsoleWidget, self).__init__(parent) diff --git a/igniter/nice_progress_bar.py b/igniter/nice_progress_bar.py new file mode 100644 index 0000000000..47d695a101 --- /dev/null +++ b/igniter/nice_progress_bar.py @@ -0,0 +1,20 @@ +from Qt import QtCore, QtGui, QtWidgets # noqa + + +class NiceProgressBar(QtWidgets.QProgressBar): + def __init__(self, parent=None): + super(NiceProgressBar, self).__init__(parent) + self._real_value = 0 + + def setValue(self, value): + self._real_value = value + if value != 0 and value < 11: + value = 11 + + super(NiceProgressBar, self).setValue(value) + + def value(self): + return self._real_value + + def text(self): + return "{} %".format(self._real_value) diff --git a/igniter/tools.py b/igniter/tools.py index 529d535c25..c0fa97d03e 100644 --- a/igniter/tools.py +++ b/igniter/tools.py @@ -248,3 +248,15 @@ def get_openpype_path_from_db(url: str) -> Union[str, None]: if os.path.exists(path): return path return None + + +def load_stylesheet() -> str: + """Load css style sheet. + + Returns: + str: content of the stylesheet + + """ + stylesheet_path = Path(__file__).parent.resolve() / "stylesheet.css" + + return stylesheet_path.read_text() \ No newline at end of file diff --git a/igniter/update_window.py b/igniter/update_window.py index a49a84cfee..e443201e09 100644 --- a/igniter/update_window.py +++ b/igniter/update_window.py @@ -5,43 +5,8 @@ from pathlib import Path from .update_thread import UpdateThread from Qt import QtCore, QtGui, QtWidgets # noqa from .bootstrap_repos import OpenPypeVersion - - -def load_stylesheet(path: str = None) -> str: - """Load css style sheet. - - Args: - path (str, optional): Path to stylesheet. If none, `stylesheet.css` - from current package's path is used. - Returns: - str: content of the stylesheet - - """ - if path: - stylesheet_path = Path(path) - else: - stylesheet_path = Path(os.path.dirname(__file__)) / "stylesheet.css" - - return stylesheet_path.read_text() - - -class NiceProgressBar(QtWidgets.QProgressBar): - def __init__(self, parent=None): - super(NiceProgressBar, self).__init__(parent) - self._real_value = 0 - - def setValue(self, value): - self._real_value = value - if value != 0 and value < 11: - value = 11 - - super(NiceProgressBar, self).setValue(value) - - def value(self): - return self._real_value - - def text(self): - return "{} %".format(self._real_value) +from .nice_progress_bar import NiceProgressBar +from .tools import load_stylesheet class UpdateWindow(QtWidgets.QDialog): diff --git a/start.py b/start.py index 9e60d79f04..2e45dc4df3 100644 --- a/start.py +++ b/start.py @@ -181,6 +181,10 @@ else: if "--headless" in sys.argv: os.environ["OPENPYPE_HEADLESS_MODE"] = "1" + sys.argv.remove("--headless") +else: + if os.getenv("OPENPYPE_HEADLESS_MODE") != "1": + os.environ.pop("OPENPYPE_HEADLESS_MODE") import igniter # noqa: E402 from igniter import BootstrapRepos # noqa: E402 @@ -397,7 +401,7 @@ def _process_arguments() -> tuple: # handle igniter # this is helper to run igniter before anything else if "igniter" in sys.argv: - if os.getenv("OPENPYPE_HEADLESS_MODE"): + if os.getenv("OPENPYPE_HEADLESS_MODE") == "1": _print("!!! Cannot open Igniter dialog in headless mode.") sys.exit(1) import igniter @@ -447,7 +451,7 @@ def _determine_mongodb() -> str: if not openpype_mongo: _print("*** No DB connection string specified.") - if os.getenv("OPENPYPE_HEADLESS_MODE"): + if os.getenv("OPENPYPE_HEADLESS_MODE") == "1": _print("!!! Cannot open Igniter dialog in headless mode.") _print( "!!! Please use `OPENPYPE_MONGO` to specify server address.") @@ -555,7 +559,7 @@ def _find_frozen_openpype(use_version: str = None, except IndexError: # no OpenPype version found, run Igniter and ask for them. _print('*** No OpenPype versions found.') - if os.getenv("OPENPYPE_HEADLESS_MODE"): + if os.getenv("OPENPYPE_HEADLESS_MODE") == "1": _print("!!! Cannot open Igniter dialog in headless mode.") sys.exit(1) _print("--- launching setup UI ...") @@ -621,7 +625,7 @@ def _find_frozen_openpype(use_version: str = None, if not is_inside: # install latest version to user data dir - if not os.getenv("OPENPYPE_HEADLESS_MODE"): + if os.getenv("OPENPYPE_HEADLESS_MODE", "0") != "1": import igniter version_path = igniter.open_update_window(openpype_version) else: