From 10ae0f7a5a84b0d9ac8ccbb4abe97e42ab6ca9d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vil=C3=A9m=20Duha?= Date: Tue, 22 Dec 2020 14:45:40 +0100 Subject: BlenderKit: multiple improvements: HDR and scene asset types - These are now available when user enables experimental features in addon preferences. Refactor Upload - no Blender instance isn't launched when not needed and everything happens in a thread, so no waiting for the user when e.g. updating metadata. improve pasted asset_id string Change asset type picking interface to fit more asset types Notify user about brush mode needs Update categories file --- blenderkit/resolutions.py | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) (limited to 'blenderkit/resolutions.py') diff --git a/blenderkit/resolutions.py b/blenderkit/resolutions.py index 89ddb6d6..a3de18ee 100644 --- a/blenderkit/resolutions.py +++ b/blenderkit/resolutions.py @@ -179,13 +179,6 @@ def save_image_safely(teximage, filepath): orig_color_mode = ims.color_mode orig_compression = ims.compression - ims = rs.image_settings - - orig_file_format = ims.file_format - orig_quality = ims.quality - orig_color_mode = ims.color_mode - orig_compression = ims.compression - ims.file_format = teximage.file_format if teximage.file_format == 'PNG': ims.color_mode = 'RGBA' @@ -317,6 +310,7 @@ def upload_resolutions(files, data): preferences = bpy.context.preferences.addons['blenderkit'].preferences upload_data = { + "name": data['asset_data']['name'], "token": preferences.api_key, "id": data['asset_data']['id'] } @@ -743,18 +737,19 @@ def iterate_for_resolutions(filepath, process_count=12, api_key=''): if check_needs_resolutions(asset_data): print('downloading and generating resolution for %s' % asset_data['name']) # this is just a quick hack for not using original dirs in blendrkit... - thread = threading.Thread(target=generate_resolution_thread, args=(asset_data, api_key)) - thread.start() - - threads.append(thread) - print('processes ', len(threads)) - while len(threads) > process_count - 1: - for proc in threads: - if not proc.is_alive(): - threads.remove(proc) - break; - else: - print(f'Failed to retrieve asset from server:{asset_data["name"]}') + generate_resolution_thread(asset_data,api_key) + # thread = threading.Thread(target=generate_resolution_thread, args=(asset_data, api_key)) + # thread.start() + # + # threads.append(thread) + # print('processes ', len(threads)) + # while len(threads) > process_count - 1: + # for t in threads: + # if not t.is_alive(): + # threads.remove(t) + # break; + # else: + # print(f'Failed to generate resolution:{asset_data["name"]}') else: print('not generated resolutions:', asset_data['name']) -- cgit v1.2.3