From 82e528ea362069a0e472ec7b09a6dd36ca40eeaf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vil=C3=A9m=20Duha?= <vilda.novak@gmail.com>
Date: Wed, 6 Jan 2021 14:00:15 +0100
Subject: [PATCH] BlenderKit: fix T84391

This issue was caused by wrong use of importlib, turns out this was wrong from the very beginning and that I never studied how reimporting of libs woks.
Now the speed of script reload seems not to be influenced by BlenderKit anymore.
---
 blenderkit/append_link.py           |  8 +-------
 blenderkit/asset_inspector.py       |  7 +------
 blenderkit/autothumb.py             | 17 +++--------------
 blenderkit/autothumb_material_bg.py | 10 ++--------
 blenderkit/autothumb_model_bg.py    | 10 ++--------
 blenderkit/bg_blender.py            |  6 +-----
 blenderkit/bkit_oauth.py            | 15 ++-------------
 blenderkit/categories.py            | 11 ++---------
 blenderkit/download.py              | 15 ++-------------
 blenderkit/overrides.py             |  7 +------
 blenderkit/ratings.py               | 10 +---------
 blenderkit/rerequests.py            | 12 ++----------
 blenderkit/resolutions.py           | 15 +--------------
 blenderkit/search.py                | 19 +++----------------
 blenderkit/tasks_queue.py           |  6 +-----
 blenderkit/ui.py                    | 21 +++------------------
 blenderkit/ui_panels.py             | 15 ++-------------
 blenderkit/upload.py                | 22 +---------------------
 blenderkit/upload_bg.py             | 14 ++------------
 blenderkit/utils.py                 |  9 +--------
 blenderkit/version_checker.py       |  7 +------
 21 files changed, 35 insertions(+), 221 deletions(-)

diff --git a/blenderkit/append_link.py b/blenderkit/append_link.py
index 4044a30dd..8ec861c93 100644
--- a/blenderkit/append_link.py
+++ b/blenderkit/append_link.py
@@ -17,13 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    utils = reload(utils)
-    ui = reload(ui)
-else:
-    from blenderkit import utils, ui
+from blenderkit import utils, ui
 
 import bpy
 import uuid
diff --git a/blenderkit/asset_inspector.py b/blenderkit/asset_inspector.py
index ce4284ce0..e12aa0586 100644
--- a/blenderkit/asset_inspector.py
+++ b/blenderkit/asset_inspector.py
@@ -17,12 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    utils = reload(utils)
-else:
-    from blenderkit import utils
+from blenderkit import utils
 
 import bpy
 from object_print3d_utils import operators as ops
diff --git a/blenderkit/autothumb.py b/blenderkit/autothumb.py
index ec0028f09..0008d6708 100644
--- a/blenderkit/autothumb.py
+++ b/blenderkit/autothumb.py
@@ -17,14 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    utils = reload(utils)
-    bg_blender = reload(bg_blender)
-else:
-    from blenderkit import paths, utils, bg_blender
+from blenderkit import paths, utils, bg_blender
 
 import tempfile, os, subprocess, json, sys
 
@@ -140,8 +133,6 @@ def start_thumbnailer(self, context):
                 "thumbnail_denoising": bkit.thumbnail_denoising,
             }, s)
 
-
-
         proc = subprocess.Popen([
             binary_path,
             "--background",
@@ -166,7 +157,7 @@ def start_thumbnailer(self, context):
         return {'FINISHED'}
 
 
-def start_material_thumbnailer(self, context, wait = False):
+def start_material_thumbnailer(self, context, wait=False):
     # Prepare to save the file
     mat = bpy.context.active_object.active_material
     mat.blenderkit.is_generating_thumbnail = True
@@ -215,7 +206,6 @@ def start_material_thumbnailer(self, context, wait = False):
                 "texture_size_meters": bkit.texture_size_meters,
             }, s)
 
-
         proc = subprocess.Popen([
             binary_path,
             "--background",
@@ -276,7 +266,7 @@ class GenerateThumbnailOperator(bpy.types.Operator):
             message = "please save your file first"
 
             def draw_message(self, context):
-                self.layout.label(text = message)
+                self.layout.label(text=message)
 
             bpy.context.window_manager.popup_menu(draw_message, title=title, icon='INFO')
             return {'FINISHED'}
@@ -290,7 +280,6 @@ class GenerateMaterialThumbnailOperator(bpy.types.Operator):
     bl_label = "BlenderKit Material Thumbnail Generator"
     bl_options = {'REGISTER', 'INTERNAL'}
 
-
     @classmethod
     def poll(cls, context):
         return bpy.context.view_layer.objects.active is not None
diff --git a/blenderkit/autothumb_material_bg.py b/blenderkit/autothumb_material_bg.py
index c8d349792..3e1c2f2b3 100644
--- a/blenderkit/autothumb_material_bg.py
+++ b/blenderkit/autothumb_material_bg.py
@@ -17,14 +17,8 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    utils = reload(utils)
-    append_link = reload(append_link)
-    bg_blender = reload(bg_blender)
-else:
-    from blenderkit import utils, append_link, bg_blender
+
+from blenderkit import utils, append_link, bg_blender
 
 import sys, json, math
 import bpy
diff --git a/blenderkit/autothumb_model_bg.py b/blenderkit/autothumb_model_bg.py
index fe58a52fa..ebb509ffe 100644
--- a/blenderkit/autothumb_model_bg.py
+++ b/blenderkit/autothumb_model_bg.py
@@ -17,14 +17,8 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    utils = reload(utils)
-    append_link = reload(append_link)
-    bg_blender = reload(bg_blender)
-else:
-    from blenderkit import utils, append_link, bg_blender
+
+from blenderkit import utils, append_link, bg_blender
 
 import sys, json, math
 from pathlib import Path
diff --git a/blenderkit/bg_blender.py b/blenderkit/bg_blender.py
index 128cf4577..7dda15590 100644
--- a/blenderkit/bg_blender.py
+++ b/blenderkit/bg_blender.py
@@ -16,12 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
 
-    utils = reload(utils)
-else:
-    from blenderkit import utils
+from blenderkit import utils
 
 import bpy
 import sys, threading, os
diff --git a/blenderkit/bkit_oauth.py b/blenderkit/bkit_oauth.py
index 4f3e51605..7e7946a27 100644
--- a/blenderkit/bkit_oauth.py
+++ b/blenderkit/bkit_oauth.py
@@ -16,19 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
-
-    tasks_queue = reload(tasks_queue)
-    utils = reload(utils)
-    paths = reload(paths)
-    search = reload(search)
-    categories = reload(categories)
-    oauth = reload(oauth)
-    ui = reload(ui)
-    ui = reload(ui_panels)
-else:
-    from blenderkit import tasks_queue, utils, paths, search, categories, oauth, ui, ui_panels
+
+from blenderkit import tasks_queue, utils, paths, search, categories, oauth, ui, ui_panels
 
 import bpy
 
diff --git a/blenderkit/categories.py b/blenderkit/categories.py
index a8f11bd20..f452120b6 100644
--- a/blenderkit/categories.py
+++ b/blenderkit/categories.py
@@ -16,15 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    utils = reload(utils)
-    tasks_queue = reload(tasks_queue)
-    rerequests = reload(rerequests)
-else:
-    from blenderkit import paths, utils, tasks_queue, rerequests
+
+from blenderkit import paths, utils, tasks_queue, rerequests
 
 import requests
 import json
diff --git a/blenderkit/download.py b/blenderkit/download.py
index e0d05833d..71cc6239e 100644
--- a/blenderkit/download.py
+++ b/blenderkit/download.py
@@ -16,19 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    append_link = reload(append_link)
-    utils = reload(utils)
-    ui = reload(ui)
-    colors = reload(colors)
-    tasks_queue = reload(tasks_queue)
-    rerequests = reload(rerequests)
-    rerequests = reload(resolutions)
-else:
-    from blenderkit import paths, append_link, utils, ui, colors, tasks_queue, rerequests, resolutions
+
+from blenderkit import paths, append_link, utils, ui, colors, tasks_queue, rerequests, resolutions
 
 import threading
 import time
diff --git a/blenderkit/overrides.py b/blenderkit/overrides.py
index 56013f0ce..cc8ca50a2 100644
--- a/blenderkit/overrides.py
+++ b/blenderkit/overrides.py
@@ -17,12 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    utils = reload(utils)
-else:
-    from blenderkit import utils
+from blenderkit import utils
 
 import bpy, mathutils
 from bpy.types import (
diff --git a/blenderkit/ratings.py b/blenderkit/ratings.py
index 898867dd8..4ef194c69 100644
--- a/blenderkit/ratings.py
+++ b/blenderkit/ratings.py
@@ -16,15 +16,7 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    utils = reload(utils)
-    rerequests = reload(rerequests)
-    tasks_queue = reload(tasks_queue)
-else:
-    from blenderkit import paths, utils, rerequests, tasks_queue
+from blenderkit import paths, utils, rerequests, tasks_queue
 
 import bpy
 import requests, threading
diff --git a/blenderkit/rerequests.py b/blenderkit/rerequests.py
index 7671f3cf7..75d8fa277 100644
--- a/blenderkit/rerequests.py
+++ b/blenderkit/rerequests.py
@@ -16,16 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
-
-    ui = reload(ui)
-    utils = reload(utils)
-    paths = reload(paths)
-    tasks_queue = reload(tasks_queue)
-    bkit_oauth = reload(bkit_oauth)
-else:
-    from blenderkit import ui, utils, paths, tasks_queue, bkit_oauth
+
+from blenderkit import ui, utils, paths, tasks_queue, bkit_oauth
 
 import requests
 import bpy
diff --git a/blenderkit/resolutions.py b/blenderkit/resolutions.py
index 2ad28b999..03026c683 100644
--- a/blenderkit/resolutions.py
+++ b/blenderkit/resolutions.py
@@ -17,20 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    append_link = reload(append_link)
-    bg_blender = reload(bg_blender)
-    utils = reload(utils)
-    download = reload(download)
-    search = reload(search)
-    rerequests = reload(rerequests)
-    upload_bg = reload(upload_bg)
-    image_utils = reload(image_utils)
-else:
-    from blenderkit import paths, append_link, bg_blender, utils, download, search, rerequests, upload_bg, image_utils
+from blenderkit import paths, append_link, bg_blender, utils, download, search, rerequests, upload_bg, image_utils
 
 import sys, json, os, time
 import subprocess
diff --git a/blenderkit/search.py b/blenderkit/search.py
index da71835f2..d1df071f3 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -17,22 +17,9 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    utils = reload(utils)
-    categories = reload(categories)
-    ui = reload(ui)
-    colors = reload(colors)
-    bkit_oauth = reload(bkit_oauth)
-    version_checker = reload(version_checker)
-    tasks_queue = reload(tasks_queue)
-    rerequests = reload(rerequests)
-    resolutions = reload(resolutions)
-else:
-    from blenderkit import paths, utils, categories, ui, colors, bkit_oauth, version_checker, tasks_queue, rerequests, \
-        resolutions
+
+from blenderkit import paths, utils, categories, ui, colors, bkit_oauth, version_checker, tasks_queue, rerequests, \
+    resolutions
 
 import blenderkit
 from bpy.app.handlers import persistent
diff --git a/blenderkit/tasks_queue.py b/blenderkit/tasks_queue.py
index fe6cac764..f52cfd639 100644
--- a/blenderkit/tasks_queue.py
+++ b/blenderkit/tasks_queue.py
@@ -16,12 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    from importlib import reload
 
-    utils = reload(utils)
-else:
-    from blenderkit import utils
+from blenderkit import utils
 
 import bpy
 from bpy.app.handlers import persistent
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index 58e12d90d..9f60d471f 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -17,24 +17,9 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    import importlib
-
-    paths = importlib.reload(paths)
-    ratings = importlib.reload(ratings)
-    utils = importlib.reload(utils)
-    search = importlib.reload(search)
-    upload = importlib.reload(upload)
-    ui_bgl = importlib.reload(ui_bgl)
-    download = importlib.reload(download)
-    bg_blender = importlib.reload(bg_blender)
-    colors = importlib.reload(colors)
-    tasks_queue = importlib.reload(tasks_queue)
-    ui_panels = importlib.reload(ui_panels)
-    icons = importlib.reload(icons)
-else:
-    from blenderkit import paths, ratings, utils, search, upload, ui_bgl, download, bg_blender, colors, tasks_queue, \
-        ui_panels,icons
+
+from blenderkit import paths, ratings, utils, search, upload, ui_bgl, download, bg_blender, colors, tasks_queue, \
+    ui_panels,icons
 
 import bpy
 
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index 429e38d52..b194568c4 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -16,19 +16,8 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
-if "bpy" in locals():
-    import importlib
-
-    paths = importlib.reload(paths)
-    ratings = importlib.reload(ratings)
-    utils = importlib.reload(utils)
-    download = importlib.reload(download)
-    categories = importlib.reload(categories)
-    icons = importlib.reload(icons)
-    search = importlib.reload(search)
-    resolutions = importlib.reload(resolutions)
-else:
-    from blenderkit import paths, ratings, utils, download, categories, icons, search, resolutions
+
+from blenderkit import paths, ratings, utils, download, categories, icons, search, resolutions
 
 from bpy.types import (
     Panel
diff --git a/blenderkit/upload.py b/blenderkit/upload.py
index 9ca9f68db..e811eaa3e 100644
--- a/blenderkit/upload.py
+++ b/blenderkit/upload.py
@@ -17,27 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    asset_inspector = reload(asset_inspector)
-    paths = reload(paths)
-    utils = reload(utils)
-    bg_blender = reload(bg_blender)
-    autothumb = reload(autothumb)
-    version_checker = reload(version_checker)
-    search = reload(search)
-    ui_panels = reload(ui_panels)
-    ui = reload(ui)
-    overrides = reload(overrides)
-    colors = reload(colors)
-    rerequests = reload(rerequests)
-    categories = reload(categories)
-    upload_bg = reload(upload_bg)
-    tasks_queue = reload(tasks_queue)
-    image_utils = reload(image_utils)
-else:
-    from blenderkit import asset_inspector, paths, utils, bg_blender, autothumb, version_checker, search, ui_panels, ui, \
+from blenderkit import asset_inspector, paths, utils, bg_blender, autothumb, version_checker, search, ui_panels, ui, \
         overrides, colors, rerequests, categories, upload_bg, tasks_queue, image_utils
 
 import tempfile, os, subprocess, json, re
diff --git a/blenderkit/upload_bg.py b/blenderkit/upload_bg.py
index 4fc96ffba..2e27dbf1e 100644
--- a/blenderkit/upload_bg.py
+++ b/blenderkit/upload_bg.py
@@ -17,18 +17,8 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    append_link = reload(append_link)
-    bg_blender = reload(bg_blender)
-    utils = reload(utils)
-    rerequests = reload(rerequests)
-    tasks_queue = reload(tasks_queue)
-    ui = reload(ui)
-else:
-    from blenderkit import paths, append_link, bg_blender, utils, rerequests, tasks_queue, ui
+
+from blenderkit import paths, append_link, bg_blender, utils, rerequests, tasks_queue, ui
 
 import sys, json, os, time
 import requests
diff --git a/blenderkit/utils.py b/blenderkit/utils.py
index 61b2bea15..88aaa1291 100644
--- a/blenderkit/utils.py
+++ b/blenderkit/utils.py
@@ -17,14 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "bpy" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-    rerequests = reload(rerequests)
-
-else:
-    from blenderkit import paths, rerequests
+from blenderkit import paths, rerequests
 
 import bpy
 from mathutils import Vector
diff --git a/blenderkit/version_checker.py b/blenderkit/version_checker.py
index f17f33741..49423dbbb 100644
--- a/blenderkit/version_checker.py
+++ b/blenderkit/version_checker.py
@@ -17,12 +17,7 @@
 # ##### END GPL LICENSE BLOCK #####
 
 
-if "requests" in locals():
-    from importlib import reload
-
-    paths = reload(paths)
-else:
-    from blenderkit import paths
+from blenderkit import paths
 
 import requests, os, json, threading
 
-- 
GitLab