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.
+
+
+