Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVilem Duha <vilem.duha@gmail.com>2019-04-29 22:30:11 +0300
committerVilem Duha <vilem.duha@gmail.com>2019-05-19 16:45:48 +0300
commit5412d45d9e682d0b8fe8437b735ee06979e34f02 (patch)
tree21deadffbf446aad4c7dd314ce1581a3d445d040 /blenderkit/oauth.py
parente16c55a110a5cde3bf5c83a156195b5d71481488 (diff)
BlenderKit:
-fix arrows not showing on the right side when the search results can be increased still. -improve tasks_queue. It's now hanging on another blender object(panel definition) to have persistent task queue. -get separate Author info (should also get Gravatar in future) -get Profile info in fetch server data -new Profile panel shows user information -improve tooltip - random tips, author info(will be further improved) -improve login UI - fix swapping of search results
Diffstat (limited to 'blenderkit/oauth.py')
-rw-r--r--blenderkit/oauth.py30
1 files changed, 26 insertions, 4 deletions
diff --git a/blenderkit/oauth.py b/blenderkit/oauth.py
index 78c8dfb3..f2cdf3e8 100644
--- a/blenderkit/oauth.py
+++ b/blenderkit/oauth.py
@@ -25,6 +25,7 @@ from urllib.parse import parse_qs, urlparse
import requests
import threading
+import blenderkit
from blenderkit import tasks_queue, utils, paths
CLIENT_ID = "IdFRwa3SGA8eMpzhRVFMg5Ts8sPK93xBjif93x0F"
@@ -99,8 +100,8 @@ def login_thread():
def login():
authenticator = SimpleOAuthAuthenticator(server_url=paths.get_bkit_url(), client_id=CLIENT_ID, ports=PORTS)
auth_token, refresh_token = authenticator.get_new_token()
- print('tokens retrieved')
- tasks_queue.tasks_queue.put('blenderkit.oauth.write_tokens("%s", "%s")' % (auth_token, refresh_token))
+ utils.p('tokens retrieved')
+ tasks_queue.add_task((write_tokens , (auth_token, refresh_token)))
def refresh_token_thread():
@@ -113,11 +114,12 @@ def refresh_token_thread():
def refresh_token(api_key_refresh):
authenticator = SimpleOAuthAuthenticator(server_url=paths.get_bkit_url(), client_id=CLIENT_ID, ports=PORTS)
auth_token, refresh_token = authenticator.get_refreshed_token(api_key_refresh)
- tasks_queue.tasks_queue.put('blenderkit.oauth.write_tokens("%s", "%s")' % (auth_token, refresh_token))
+ if auth_token is not None and refresh_token is not None:
+ tasks_queue.add_task((blenderkit.oauth.write_tokens , (auth_token, refresh_token)))
def write_tokens(auth_token, refresh_token):
- print('writing tokens?')
+ utils.p('writing tokens?')
preferences = bpy.context.preferences.addons['blenderkit'].preferences
preferences.api_key = auth_token
preferences.api_key_refresh = refresh_token
@@ -144,6 +146,25 @@ class RegisterLoginOnline(bpy.types.Operator):
return {'FINISHED'}
+class Logout(bpy.types.Operator):
+ """Bring linked object hierarchy to scene and make it editable."""
+
+ bl_idname = "wm.blenderkit_logout"
+ bl_label = "BlenderKit logout"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ @classmethod
+ def poll(cls, context):
+ return True
+
+ def execute(self, context):
+ preferences = bpy.context.preferences.addons['blenderkit'].preferences
+ preferences.login_attempt = False
+ preferences.api_key_refresh = ''
+ preferences.api_key = ''
+ return {'FINISHED'}
+
+
class CancelLoginOnline(bpy.types.Operator):
"""Cancel login attempt."""
@@ -163,6 +184,7 @@ class CancelLoginOnline(bpy.types.Operator):
classess = (
RegisterLoginOnline,
CancelLoginOnline,
+ Logout,
)