From 5eb6c48faf30122cc6ba5a44d4397c5f23bb5225 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 6 Dec 2018 11:42:48 +0100 Subject: [PATCH] Added event server class. Login dialog bugs repaired: didn't login properly through username+API; icon missing problem --- pype/ftrack/event_server.py | 36 ++++++++++++++++++++++++++++++++++++ pype/ftrack/login_dialog.py | 19 ++++++++++++++++--- 2 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 pype/ftrack/event_server.py diff --git a/pype/ftrack/event_server.py b/pype/ftrack/event_server.py new file mode 100644 index 0000000000..acc83fce0e --- /dev/null +++ b/pype/ftrack/event_server.py @@ -0,0 +1,36 @@ +import sys +import os +from pype.ftrack import credentials, login_dialog as login_dialog +from FtrackServer import FtrackServer +from app.vendor.Qt import QtCore, QtGui, QtWidgets +from pype import api + +log = api.Logger.getLogger(__name__, "ftrack-event-server") + +class EventServer: + def __init__(self): + self.login_widget = login_dialog.Login_Dialog_ui(self) + self.event_server = FtrackServer('event') + + cred = credentials._get_credentials() + + if 'username' in cred and 'apiKey' in cred: + self.login_widget.user_input.setText(cred['username']) + self.login_widget.api_input.setText(cred['apiKey']) + + self.login_widget.setError("Credentials should be for API User") + + self.login_widget.show() + + def loginChange(self): + log.info("Logged successfully") + self.login_widget.close() + self.event_server.run_server() + +def main(): + app = QtWidgets.QApplication(sys.argv) + event = EventServer() + sys.exit(app.exec_()) + +if (__name__ == ('__main__')): + main() diff --git a/pype/ftrack/login_dialog.py b/pype/ftrack/login_dialog.py index 020f917b9a..8365a6f3ab 100644 --- a/pype/ftrack/login_dialog.py +++ b/pype/ftrack/login_dialog.py @@ -23,9 +23,19 @@ class Login_Dialog_ui(QtWidgets.QWidget): self.parent = parent - self.setWindowIcon(self.parent.parent.icon) + if hasattr(parent,'icon'): + self.setWindowIcon(self.parent.icon) + elif hasattr(parent,'parent') and hasattr(parent.parent,'icon'): + self.setWindowIcon(self.parent.parent.icon) + else: + pype_setup = os.getenv('PYPE_SETUP_ROOT') + items = [pype_setup, "app", "resources", "icon.png"] + fname = os.path.sep.join(items) + icon = QtGui.QIcon(fname) + self.setWindowIcon(icon) + self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowMinimizeButtonHint) - + self.loginSignal.connect(self.loginWithCredentials) self._translate = QtCore.QCoreApplication.translate @@ -189,6 +199,8 @@ class Login_Dialog_ui(QtWidgets.QWidget): if verification: credentials._save_credentials(username, apiKey) credentials._set_env(username, apiKey) + if self.parent is not None: + self.parent.loginChange() self._close_widget() else: self._invalid_input(self.user_input) @@ -285,7 +297,8 @@ class Login_Dialog_ui(QtWidgets.QWidget): if verification is True: credentials._save_credentials(username, apiKey) credentials._set_env(username, apiKey) - self.parent.loginChange() + if self.parent is not None: + self.parent.loginChange() self._close_widget() def closeEvent(self, event):