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:
authorVilem Duha <vilem.duha@gmail.com>2021-10-02 18:32:37 +0300
committerVilem Duha <vilem.duha@gmail.com>2021-10-02 18:33:14 +0300
commit13140e3947af5c1becd752e7fb2c627b3ed95d96 (patch)
treebc71cbf02a0cc0685a57a497285d8a869f534519
parent9a285d80167fc8c9e8b0c7ab2f2fd3c7487fa01d (diff)
BlenderKit: basic asset_browser compatibility
fix default search report blender version instead of addon version during search
-rw-r--r--blenderkit/resolutions.py25
-rw-r--r--blenderkit/search.py9
-rw-r--r--blenderkit/ui_panels.py48
-rw-r--r--blenderkit/version_checker.py11
4 files changed, 71 insertions, 22 deletions
diff --git a/blenderkit/resolutions.py b/blenderkit/resolutions.py
index 1a4af5fc..e2412786 100644
--- a/blenderkit/resolutions.py
+++ b/blenderkit/resolutions.py
@@ -168,6 +168,31 @@ def unpack_asset(data):
# image.unpack(method='REMOVE')
image.unpack(method='WRITE_ORIGINAL')
+ #mark asset browser asset
+ data_block = None
+ if asset_data['assetType'] == 'model':
+ for ob in bpy.context.scene.objects:
+ if ob.parent == None:
+ ob.asset_mark()
+ data_block = ob
+ elif asset_data['assetType'] == 'material':
+ for m in bpy.data.materials:
+ m.asset_mark()
+ data_block = m
+ elif asset_data['assetType'] == 'scene':
+ bpy.context.scene.asset_mark()
+ elif asset_data['assetType'] =='brush':
+ for b in bpy.data.brushes:
+ if b.get('asset_data') is not None:
+ b.asset_mark()
+ data_block = b
+ if data_block is not None:
+ tags = data_block.asset_data.tags
+ for t in tags:
+ tags.remove(t)
+ tags.new('description: ' + asset_data['description'])
+ tags.new('tags: ' + ','.join(asset_data['tags']))
+
bpy.ops.wm.save_mainfile(compress=False)
# now try to delete the .blend1 file
try:
diff --git a/blenderkit/search.py b/blenderkit/search.py
index c386f588..e846e8bc 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -1313,6 +1313,15 @@ def get_search_simple(parameters, filepath=None, page_size=100, max_results=1000
bk_logger.info(f'retrieved {len(results)} assets from elastic search')
return results
+def get_single_asset(asset_base_id):
+ preferences = bpy.context.preferences.addons['blenderkit'].preferences
+ params = {
+ 'asset_base_id': asset_base_id
+ }
+ results = get_search_simple(params, api_key=preferences.api_key)
+ if len(results)>0:
+ return results[0]
+ return None
def search(category='', get_next=False, author_id=''):
''' initialize searching'''
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index 25fa5927..f65833ed 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -1175,23 +1175,32 @@ class BlenderKitWelcomeOperator(bpy.types.Operator):
# bpy.context.window_manager.windows[0].screen.areas[5].spaces[0].show_region_ui = False
print('running search no')
ui_props = bpy.context.scene.blenderkitUI
- random_searches = [
- ('MATERIAL', 'ice'),
- ('MODEL', 'car'),
- ('MODEL', 'vase'),
- ('MODEL', 'grass'),
- ('MODEL', 'plant'),
- ('MODEL', 'man'),
- ('MATERIAL', 'metal'),
- ('MATERIAL', 'wood'),
- ('MATERIAL', 'floor'),
- ('MATERIAL', 'bricks'),
- ]
- random_search = random.choice(random_searches)
- ui_props.asset_type = random_search[0]
-
- bpy.context.window_manager.blenderkit_mat.search_keywords = '' # random_search[1]
- bpy.context.window_manager.blenderkit_mat.search_keywords = '+is_free:true+score_gte:1000+order:-created' # random_search[1]
+ # random_searches = [
+ # ('MATERIAL', 'ice'),
+ # ('MODEL', 'car'),
+ # ('MODEL', 'vase'),
+ # ('MODEL', 'grass'),
+ # ('MODEL', 'plant'),
+ # ('MODEL', 'man'),
+ # ('MATERIAL', 'metal'),
+ # ('MATERIAL', 'wood'),
+ # ('MATERIAL', 'floor'),
+ # ('MATERIAL', 'bricks'),
+ # ]
+ # random_search = random.choice(random_searches)
+ # ui_props.asset_type = random_search[0]
+ ui_props.asset_type = 'MODEL'
+
+ score_limit = 450
+ if ui_props.asset_type == 'MATERIAL':
+ props = bpy.context.window_manager.blenderkit_mat
+
+ elif ui_props.asset_type == 'MODEL':
+ props = bpy.context.window_manager.blenderkit_models
+ score_limit = 1000
+
+ props.search_keywords = ''#random_search[1]
+ props.search_keywords += f'+is_free:true+score_gte:{score_limit}+order:-created' # random_search[1]
# search.search()
return {'FINISHED'}
@@ -1655,8 +1664,9 @@ class AssetPopupCard(bpy.types.Operator, ratings_utils.RatingsProperties):
# self.draw_asset_parameter(box, key='purePbr', pretext='Pure PBR')
# self.draw_asset_parameter(box, key='productionLevel', pretext='Readiness')
# self.draw_asset_parameter(box, key='condition', pretext='Condition')
- self.draw_asset_parameter(box, key='material_style', pretext='Style')
- self.draw_asset_parameter(box, key='model_style', pretext='Style')
+ if utils.profile_is_validator():
+ self.draw_asset_parameter(box, key='materialStyle', pretext='Style')
+ self.draw_asset_parameter(box, key='modelStyle', pretext='Style')
if utils.get_param(self.asset_data, 'dimensionX'):
t = '%s×%s×%s m' % (utils.fmt_length(mparams['dimensionX']),
diff --git a/blenderkit/version_checker.py b/blenderkit/version_checker.py
index 993ff238..37aeadc4 100644
--- a/blenderkit/version_checker.py
+++ b/blenderkit/version_checker.py
@@ -16,18 +16,23 @@
#
# ##### END GPL LICENSE BLOCK #####
-
+import bpy
from blenderkit import paths
import requests, os, json, threading
def get_addon_version():
- import blenderkit
- ver = blenderkit.bl_info['version']
+ # should return addon version, but since Blender 3.0 this is synced with Blender version
+ ver = bpy.app.version
return '%i.%i.%i' % (ver[0], ver[1], ver[2])
+ # import blenderkit
+ # ver = blenderkit.bl_info['version']
+ # return '%i.%i.%i' % (ver[0], ver[1], ver[2])
+
+
def check_version(url, api_key, module):
headers = {
"accept": "application/json",