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>2021-03-26 16:52:10 +0300
committerVilém Duha <vilda.novak@gmail.com>2021-03-26 17:50:14 +0300
commit63492d3d0334e1827f611f8fe5a931f3ccbddfc0 (patch)
treeb9c2ae6c2c8165ed958b1bab7f98912ea3a6307e /blenderkit
parentebe76f3a7ba96b3881567def29b7e2527e018e9a (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__.py2
-rw-r--r--blenderkit/download.py1
-rw-r--r--blenderkit/ratings.py6
-rw-r--r--blenderkit/search.py83
-rw-r--r--blenderkit/ui.py2
-rw-r--r--blenderkit/upload.py3
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: