diff options
author | Vilém Duha <vilda.novak@gmail.com> | 2021-03-26 16:52:10 +0300 |
---|---|---|
committer | Vilém Duha <vilda.novak@gmail.com> | 2021-03-26 17:50:14 +0300 |
commit | 63492d3d0334e1827f611f8fe5a931f3ccbddfc0 (patch) | |
tree | b9c2ae6c2c8165ed958b1bab7f98912ea3a6307e /blenderkit | |
parent | ebe76f3a7ba96b3881567def29b7e2527e018e9a (diff) |
BlenderKit: fix poll functions for rating and fast metadata edit
HDR - use wide image format
Switch to use of asset thumbnails for asset instead of file thumbnails.
Diffstat (limited to 'blenderkit')
-rw-r--r-- | blenderkit/__init__.py | 2 | ||||
-rw-r--r-- | blenderkit/download.py | 1 | ||||
-rw-r--r-- | blenderkit/ratings.py | 6 | ||||
-rw-r--r-- | blenderkit/search.py | 83 | ||||
-rw-r--r-- | blenderkit/ui.py | 2 | ||||
-rw-r--r-- | blenderkit/upload.py | 3 |
6 files changed, 69 insertions, 28 deletions
diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py index 2f48fa57..696a7b9b 100644 --- a/blenderkit/__init__.py +++ b/blenderkit/__init__.py @@ -56,6 +56,7 @@ if "bpy" in locals(): ui_bgl = reload(ui_bgl) ui_panels = reload(ui_panels) upload = reload(upload) + upload_bg = reload(upload_bg) utils = reload(utils) bl_ui_label = reload(bl_ui_label) @@ -90,6 +91,7 @@ else: from blenderkit import ui_bgl from blenderkit import ui_panels from blenderkit import upload + from blenderkit import upload_bg from blenderkit import utils from blenderkit.bl_ui_widgets import bl_ui_label diff --git a/blenderkit/download.py b/blenderkit/download.py index f6209b5f..ac83594e 100644 --- a/blenderkit/download.py +++ b/blenderkit/download.py @@ -809,6 +809,7 @@ class Downloader(threading.Thread): t = '%iKB' % fskb else: t = ' %iMB' % fsmb + tcom.report = f'Downloading {t} {self.resolution}' dl = 0 diff --git a/blenderkit/ratings.py b/blenderkit/ratings.py index fb41ca2d..66584484 100644 --- a/blenderkit/ratings.py +++ b/blenderkit/ratings.py @@ -392,9 +392,9 @@ class FastRateMenu(Operator): @classmethod def poll(cls, context): - # scene = bpy.context.scene - # ui_props = scene.blenderkitUI - return True # ui_props.active_index > -1 + scene = bpy.context.scene + ui_props = scene.blenderkitUI + return ui_props.active_index > -1 def draw(self, context): layout = self.layout diff --git a/blenderkit/search.py b/blenderkit/search.py index 5778973d..5c3a56f5 100644 --- a/blenderkit/search.py +++ b/blenderkit/search.py @@ -243,21 +243,37 @@ def parse_result(r): r['available_resolutions'] = [] allthumbs = [] durl, tname, small_tname = '', '', '' + + if r['assetType'] == 'hdr': + tname = paths.extract_filename_from_url(r['thumbnailMiddleUrlNonsquared']) + else: + tname = paths.extract_filename_from_url(r['thumbnailMiddleUrl']) + small_tname = paths.extract_filename_from_url(r['thumbnailSmallUrl']) + allthumbs.append(tname) # TODO just first thumb is used now. + # if r['fileType'] == 'thumbnail': + # tname = paths.extract_filename_from_url(f['fileThumbnailLarge']) + # small_tname = paths.extract_filename_from_url(f['fileThumbnail']) + # allthumbs.append(tname) # TODO just first thumb is used now. + for f in r['files']: - if f['fileType'] == 'thumbnail': - tname = paths.extract_filename_from_url(f['fileThumbnailLarge']) - small_tname = paths.extract_filename_from_url(f['fileThumbnail']) - allthumbs.append(tname) # TODO just first thumb is used now. - - tdict = {} - for i, t in enumerate(allthumbs): - tdict['thumbnail_%i'] = t + # if f['fileType'] == 'thumbnail': + # tname = paths.extract_filename_from_url(f['fileThumbnailLarge']) + # small_tname = paths.extract_filename_from_url(f['fileThumbnail']) + # allthumbs.append(tname) # TODO just first thumb is used now. + + if f['fileType'] == 'blend': durl = f['downloadUrl'].split('?')[0] # fname = paths.extract_filename_from_url(f['filePath']) if f['fileType'].find('resolution') > -1: r['available_resolutions'].append(resolutions.resolutions[f['fileType']]) + + #code for more thumbnails + # tdict = {} + # for i, t in enumerate(allthumbs): + # tdict['thumbnail_%i'] = t + r['max_resolution'] = 0 if r['available_resolutions']: # should check only for non-empty sequences r['max_resolution'] = max(r['available_resolutions']) @@ -311,7 +327,7 @@ def parse_result(r): if asset_type == 'material': asset_data['texture_size_meters'] = params.get('textureSizeMeters', 1.0) - asset_data.update(tdict) + # asset_data.update(tdict) au = scene.get('assets used', {}) if au == {}: @@ -1019,25 +1035,44 @@ class Searcher(threading.Thread): thumb_full_filepaths = [] # END OF PARSING for d in rdata.get('results', []): + thumb_small_urls.append(d["thumbnailSmallUrl"]) + imgname = paths.extract_filename_from_url(d['thumbnailSmallUrl']) + imgpath = os.path.join(self.tempdir, imgname) + thumb_small_filepaths.append(imgpath) - for f in d['files']: - # TODO move validation of published assets to server, too manmy checks here. - if f['fileType'] == 'thumbnail' and f['fileThumbnail'] != None and f['fileThumbnailLarge'] != None: - if f['fileThumbnail'] == None: - f['fileThumbnail'] = 'NONE' - if f['fileThumbnailLarge'] == None: - f['fileThumbnailLarge'] = 'NONE' - thumb_small_urls.append(f['fileThumbnail']) - thumb_full_urls.append(f['fileThumbnailLarge']) - imgname = paths.extract_filename_from_url(f['fileThumbnail']) - imgpath = os.path.join(self.tempdir, imgname) - thumb_small_filepaths.append(imgpath) + if d["assetType"] == 'hdr': + larege_thumb_url = d['thumbnailMiddleUrlNonsquared'] - imgname = paths.extract_filename_from_url(f['fileThumbnailLarge']) - imgpath = os.path.join(self.tempdir, imgname) - thumb_full_filepaths.append(imgpath) + else: + larege_thumb_url = d['thumbnailMiddleUrl'] + + thumb_full_urls.append(larege_thumb_url) + imgname = paths.extract_filename_from_url(larege_thumb_url) + imgpath = os.path.join(self.tempdir, imgname) + thumb_full_filepaths.append(imgpath) + + + + # for f in d['files']: + # # TODO move validation of published assets to server, too manmy checks here. + # if f['fileType'] == 'thumbnail' and f['fileThumbnail'] != None and f['fileThumbnailLarge'] != None: + # if f['fileThumbnail'] == None: + # f['fileThumbnail'] = 'NONE' + # if f['fileThumbnailLarge'] == None: + # f['fileThumbnailLarge'] = 'NONE' + # + # thumb_small_urls.append(f['fileThumbnail']) + # thumb_full_urls.append(f['fileThumbnailLarge']) + # + # imgname = paths.extract_filename_from_url(f['fileThumbnail']) + # imgpath = os.path.join(self.tempdir, imgname) + # thumb_small_filepaths.append(imgpath) + # + # imgname = paths.extract_filename_from_url(f['fileThumbnailLarge']) + # imgpath = os.path.join(self.tempdir, imgname) + # thumb_full_filepaths.append(imgpath) sml_thbs = zip(thumb_small_filepaths, thumb_small_urls) full_thbs = zip(thumb_full_filepaths, thumb_full_urls) diff --git a/blenderkit/ui.py b/blenderkit/ui.py index f39e233b..d15aba88 100644 --- a/blenderkit/ui.py +++ b/blenderkit/ui.py @@ -710,6 +710,8 @@ def get_large_thumbnail_image(asset_data): iname = utils.previmg_name(ui_props.active_index, fullsize=True) directory = paths.get_temp_dir('%s_search' % mappingdict[ui_props.asset_type]) tpath = os.path.join(directory, asset_data['thumbnail']) + if asset_data['assetType'] == 'hdr': + tpath = os.path.join(directory, asset_data['thumbnail']) if not asset_data['thumbnail']: tpath = paths.get_addon_thumbnail_path('thumbnail_not_available.jpg') diff --git a/blenderkit/upload.py b/blenderkit/upload.py index 4f9ee1ab..b0812efb 100644 --- a/blenderkit/upload.py +++ b/blenderkit/upload.py @@ -569,7 +569,8 @@ def update_free_full(self, context): def can_edit_asset(active_index=-1, asset_data=None): - if active_index == -1 and not asset_data: + print(active_index, asset_data) + if active_index < 0 and not asset_data: return False profile = bpy.context.window_manager.get('bkit profile') if profile is None: |