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:
authorVilém Duha <vilda.novak@gmail.com>2020-09-16 00:10:01 +0300
committerVilém Duha <vilda.novak@gmail.com>2020-09-16 12:55:19 +0300
commit6f5f56095219a3c9490974764d0f9d2e0a2cba02 (patch)
treea0f6dbd96dd1e1ae79b9dd7059391e8e261477c8 /blenderkit
parentd97d22c0749841b38cd2e0e701d1c5b7666daaf2 (diff)
BlenderKit: several fixes
Files size was drawn wrong when more pages were loaded Trying to fix crashes with timers (probablility is now lower in testing, but might still happen) - don't access context at all.
Diffstat (limited to 'blenderkit')
-rw-r--r--blenderkit/download.py4
-rw-r--r--blenderkit/search.py10
-rw-r--r--blenderkit/ui.py9
-rw-r--r--blenderkit/utils.py2
4 files changed, 15 insertions, 10 deletions
diff --git a/blenderkit/download.py b/blenderkit/download.py
index 545b06f2..1e028e4a 100644
--- a/blenderkit/download.py
+++ b/blenderkit/download.py
@@ -624,14 +624,14 @@ class Downloader(threading.Thread):
else:
tcom.file_size = int(total_length)
dl = 0
- for data in response.iter_content(chunk_size=4096):
+ totdata = []
+ for data in response.iter_content(chunk_size=4096*32): #crashed here... why? investigate:
dl += len(data)
tcom.downloaded = dl
tcom.progress = int(100 * tcom.downloaded / tcom.file_size)
f.write(data)
if self.stopped():
utils.p('stopping download: ' + asset_data['name'])
- f.close()
os.remove(file_name)
return;
diff --git a/blenderkit/search.py b/blenderkit/search.py
index 25d85d88..b72ade93 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -211,10 +211,10 @@ def parse_result(r):
# TODO remove this fix when filesSize is fixed.
# this is a temporary fix for too big numbers from the server.
- try:
- r['filesSize'] = int(r['filesSize'] / 1024)
- except:
- utils.p('asset with no files-size')
+ # try:
+ # r['filesSize'] = int(r['filesSize'] / 1024)
+ # except:
+ # utils.p('asset with no files-size')
asset_type = r['assetType']
if len(r['files']) > 0:
@@ -560,7 +560,7 @@ def generate_tooltip(mdata):
# write files size - this doesn't reflect true file size, since files size is computed from all asset files, including resolutions.
if mdata.get('filesSize'):
fs = mdata['filesSize']
- fsmb = fs // 1024
+ fsmb = fs // (1024 * 1024)
fskb = fs % 1024
if fsmb == 0:
t += 'files size: %iKB\n' % fskb
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index 5333b65e..76d4352e 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -377,7 +377,7 @@ def draw_tooltip(x, y, text='', author='', img=None, gravatar=None):
texth = line_height * nlines + nameline_height
- if max(img.size[0], img.size[1]) == 0:
+ if not img or max(img.size[0], img.size[1]) == 0:
return;
isizex = int(512 * scale * img.size[0] / max(img.size[0], img.size[1]))
isizey = int(512 * scale * img.size[1] / max(img.size[0], img.size[1]))
@@ -1024,7 +1024,7 @@ def is_rating_possible():
if ad is not None:
s['assets rated'] = s.get('assets rated',{})
- rated = s['assets rated'].get(ad['assetBaseId'])
+ rated = s['assets rated'].get(ad.get(['assetBaseId']))
# originally hidden for already rated assets
return True, rated, ao_check, ad
elif ao_check.parent is not None:
@@ -1800,6 +1800,11 @@ class UndoWithContext(bpy.types.Operator):
def execute(self, context):
C_dict = utils.get_fake_context(context)
+ #w, a, r = get_largest_area(area_type=area_type)
+ # wm = bpy.context.window_manager#bpy.data.window_managers[0]
+ # w = wm.windows[0]
+ #
+ # C_dict = {'window': w, 'screen': w.screen}
bpy.ops.ed.undo_push(C_dict, 'INVOKE_REGION_WIN', message=self.message)
return {'FINISHED'}
diff --git a/blenderkit/utils.py b/blenderkit/utils.py
index 5236aabb..bd15c72e 100644
--- a/blenderkit/utils.py
+++ b/blenderkit/utils.py
@@ -631,7 +631,7 @@ def get_largest_area(area_type='VIEW_3D'):
maxa = None
maxw = None
region = None
- for w in bpy.context.window_manager.windows:
+ for w in bpy.data.window_managers[0].windows:
for a in w.screen.areas:
if a.type == area_type:
asurf = a.width * a.height