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-05-20 12:19:48 +0300
committerVilem Duha <vilem.duha@gmail.com>2019-05-21 00:03:00 +0300
commit1bbae3eaf89ad91b55355a303f043b7488e28d21 (patch)
treebde0df61df74c67f18eec63341c9c04580068b88 /blenderkit/oauth.py
parentd54e4e25bd44760a40567ed780f1244dad65d7dc (diff)
BlenderKit: split oauth into the original library and it's usage in blenderkit. (the lib is on Github as a new project)
Diffstat (limited to 'blenderkit/oauth.py')
-rw-r--r--blenderkit/oauth.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/blenderkit/oauth.py b/blenderkit/oauth.py
index c5d1932a..61d6a7e8 100644
--- a/blenderkit/oauth.py
+++ b/blenderkit/oauth.py
@@ -16,7 +16,6 @@
#
# ##### END GPL LICENSE BLOCK #####
-import bpy
import json
import webbrowser
@@ -24,12 +23,6 @@ from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import parse_qs, urlparse
import requests
-import threading
-import blenderkit
-from blenderkit import tasks_queue, utils, paths, search, categories
-
-CLIENT_ID = "IdFRwa3SGA8eMpzhRVFMg5Ts8sPK93xBjif93x0F"
-PORTS = [62485, 1234]
class SimpleOAuthAuthenticator(object):
@@ -90,111 +83,3 @@ class SimpleOAuthAuthenticator(object):
def get_refreshed_token(self, refresh_token):
return self._get_tokens(refresh_token=refresh_token, grant_type="refresh_token")
-
-
-def login_thread():
- thread = threading.Thread(target=login, args=([]), daemon=True)
- thread.start()
-
-
-def login():
- authenticator = SimpleOAuthAuthenticator(server_url=paths.get_bkit_url(), client_id=CLIENT_ID, ports=PORTS)
- auth_token, refresh_token = authenticator.get_new_token()
- utils.p('tokens retrieved')
- tasks_queue.add_task((write_tokens , (auth_token, refresh_token)))
-
-
-def refresh_token_thread():
- preferences = bpy.context.preferences.addons['blenderkit'].preferences
- if len(preferences.api_key_refresh) > 0:
- thread = threading.Thread(target=refresh_token, args=([preferences.api_key_refresh]), daemon=True)
- thread.start()
-
-
-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)
- 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):
- utils.p('writing tokens')
- preferences = bpy.context.preferences.addons['blenderkit'].preferences
- preferences.api_key_refresh = refresh_token
- preferences.api_key = auth_token
- preferences.login_attempt = False
- props = utils.get_search_props()
- props.report = 'Login success!'
- search.get_profile()
- categories.fetch_categories_thread(auth_token)
-
-
-class RegisterLoginOnline(bpy.types.Operator):
- """Bring linked object hierarchy to scene and make it editable."""
-
- bl_idname = "wm.blenderkit_login"
- bl_label = "BlenderKit login or signup"
- 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 = True
- login_thread()
- 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."""
-
- bl_idname = "wm.blenderkit_login_cancel"
- bl_label = "BlenderKit login cancel"
- 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
- return {'FINISHED'}
-
-classess = (
- RegisterLoginOnline,
- CancelLoginOnline,
- Logout,
-)
-
-
-def register():
- for c in classess:
- bpy.utils.register_class(c)
-
-
-def unregister():
- for c in classess:
- bpy.utils.unregister_class(c)