[Bf-extensions-cvs] [6f5f5609] master: BlenderKit: several fixes
Vilém Duha
noreply at git.blender.org
Wed Sep 16 11:56:05 CEST 2020
Commit: 6f5f56095219a3c9490974764d0f9d2e0a2cba02
Author: Vilém Duha
Date: Tue Sep 15 23:10:01 2020 +0200
Branches: master
https://developer.blender.org/rBA6f5f56095219a3c9490974764d0f9d2e0a2cba02
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.
===================================================================
M blenderkit/download.py
M blenderkit/search.py
M blenderkit/ui.py
M blenderkit/utils.py
===================================================================
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
More information about the Bf-extensions-cvs
mailing list