From d402314eaffd5b8d8bc04616d67a98453309c431 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Mon, 21 Jan 2019 14:18:56 +0100 Subject: [PATCH] html login message is taken from html file in res --- pype/ftrack/login_tools.py | 65 ++++++++++++--------------------- res/ftrack/sign_in_message.html | 32 ++++++++++++++++ 2 files changed, 55 insertions(+), 42 deletions(-) create mode 100644 res/ftrack/sign_in_message.html diff --git a/pype/ftrack/login_tools.py b/pype/ftrack/login_tools.py index e38d3fa994..592ec152ee 100644 --- a/pype/ftrack/login_tools.py +++ b/pype/ftrack/login_tools.py @@ -1,10 +1,13 @@ from http.server import BaseHTTPRequestHandler, HTTPServer from urllib import parse +import os import webbrowser import functools +import pype +import inspect from app.vendor.Qt import QtCore -# class LoginServerHandler(BaseHTTPServer.BaseHTTPRequestHandler): + class LoginServerHandler(BaseHTTPRequestHandler): '''Login server handler.''' @@ -25,44 +28,21 @@ class LoginServerHandler(BaseHTTPRequestHandler): login_credentials = parse.parse_qs(query) api_user = login_credentials['api_user'][0] api_key = login_credentials['api_key'][0] - message = """ - - - -

Sign in to Ftrack was successful

-

- You signed in with username {0}. -

-

- You can close this window now. -

- - - """.format(api_user) + # get path to resources + path_items = os.path.dirname( + inspect.getfile(pype) + ).split(os.path.sep) + del path_items[-1] + path_items.extend(['res', 'ftrack', 'sign_in_message.html']) + message_filepath = os.path.sep.join(path_items) + message_file = open(message_filepath, 'r') + sign_in_message = message_file.read() + message_file.close() + # formatting html code for python + replacement = [('{', '{{'), ('}', '}}'), ('{{}}', '{}')] + for r in (replacement): + sign_in_message = sign_in_message.replace(*r) + message = sign_in_message.format(api_user) else: message = '

Failed to sign in

' @@ -70,7 +50,6 @@ class LoginServerHandler(BaseHTTPRequestHandler): self.end_headers() self.wfile.write(message.encode()) - if login_credentials: self.login_callback( api_user, @@ -84,7 +63,6 @@ class LoginServerThread(QtCore.QThread): # Login signal. loginSignal = QtCore.Signal(object, object, object) - def start(self, url): '''Start thread.''' self.url = url @@ -103,8 +81,11 @@ class LoginServerThread(QtCore.QThread): LoginServerHandler, self._handle_login ) ) + unformated_url = ( + '{0}/user/api_credentials?''redirect_url=http://localhost:{1}' + ) webbrowser.open_new_tab( - '{0}/user/api_credentials?redirect_url=http://localhost:{1}'.format( + unformated_url.format( self.url, self._server.server_port ) ) diff --git a/res/ftrack/sign_in_message.html b/res/ftrack/sign_in_message.html new file mode 100644 index 0000000000..8ee2828c26 --- /dev/null +++ b/res/ftrack/sign_in_message.html @@ -0,0 +1,32 @@ + + + +

Sign in to Ftrack was successful

+

+ You signed in with username {}. +

+

+ You can close this window now. +

+ +