From 8706f011971aacc015b58bf48f49d686bd07666c Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 18 Dec 2020 17:09:43 +0100 Subject: [PATCH 1/2] main function of settings gui moved to `__init__.py` --- pype/tools/settings/__init__.py | 26 +++++++++++++++++++++++++- pype/tools/settings/__main__.py | 26 +++++--------------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/pype/tools/settings/__init__.py b/pype/tools/settings/__init__.py index 88f33ac188..89abd262e8 100644 --- a/pype/tools/settings/__init__.py +++ b/pype/tools/settings/__init__.py @@ -1,7 +1,31 @@ +import sys +from Qt import QtWidgets, QtGui + from .settings import style, MainWidget +def main(user_role=None): + if user_role is None: + user_role = "artist" + else: + user_role_low = user_role.lower() + allowed_roles = ("developer", "manager", "artist") + if user_role_low not in allowed_roles: + raise ValueError("Invalid user role \"{}\". Expected {}".format( + user_role, ", ".join(allowed_roles) + )) + + app = QtWidgets.QApplication(sys.argv) + app.setWindowIcon(QtGui.QIcon(style.app_icon_path())) + + widget = MainWidget(user_role) + widget.show() + + sys.exit(app.exec_()) + + __all__ = ( "style", - "MainWidget" + "MainWidget", + "main" ) diff --git a/pype/tools/settings/__main__.py b/pype/tools/settings/__main__.py index 7e9f80a52c..cf49035c23 100644 --- a/pype/tools/settings/__main__.py +++ b/pype/tools/settings/__main__.py @@ -1,23 +1,7 @@ -import sys - -import settings -from Qt import QtWidgets, QtGui +try: + from . import main +except ImportError: + from settings import main -if __name__ == "__main__": - app = QtWidgets.QApplication(sys.argv) - app.setWindowIcon(QtGui.QIcon(settings.style.app_icon_path())) - - _develop = "-d" in sys.argv or "--develop" in sys.argv - _user = "-m" in sys.argv or "--manager" in sys.argv - if _develop: - user_role = "developer" - elif _user: - user_role = "manager" - else: - user_role = "artist" - - widget = settings.MainWidget(user_role) - widget.show() - - sys.exit(app.exec_()) +main() From 1f59c6be824f15c879a3bbb122c99bedf6b3ae79 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 18 Dec 2020 17:10:33 +0100 Subject: [PATCH 2/2] trigger settings.main in pype commands instead of creating new subprocess --- pype/pype_commands.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pype/pype_commands.py b/pype/pype_commands.py index f504728ca1..afb2848fa7 100644 --- a/pype/pype_commands.py +++ b/pype/pype_commands.py @@ -51,13 +51,11 @@ class PypeCommands: @staticmethod def launch_settings_gui(dev): - from pype.lib import execute + from pype.tools import settings - args = [sys.executable, "-m", "pype.tools.settings"] - if dev: - args.append("--develop") - return_code = execute(args) - return return_code + # TODO change argument options to allow enum of user roles + user_role = "developer" + settings.main(user_role) def launch_eventservercli(self, args): from pype.modules import ftrack