[Bf-extensions-cvs] [0a34d118] master: BlenderKit: optimize store_rating_local_empty
Vilem Duha
noreply at git.blender.org
Fri Jul 23 16:02:59 CEST 2021
Commit: 0a34d11883bb9c3095c6a46739aefda86784b423
Author: Vilem Duha
Date: Tue Jul 20 16:02:52 2021 +0200
Branches: master
https://developer.blender.org/rBA0a34d11883bb9c3095c6a46739aefda86784b423
BlenderKit: optimize store_rating_local_empty
Add quality limit slider for models and materials search
===================================================================
M blenderkit/__init__.py
M blenderkit/ratings_utils.py
M blenderkit/search.py
M blenderkit/ui_panels.py
===================================================================
diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index 7b22279d..7bd5fe8d 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -569,6 +569,9 @@ class BlenderKitCommonSearchProps(object):
unrated_only: BoolProperty(name="Unrated only", description="Show only unrated models",
default=False, update=search.search_update)
+ quality_limit: IntProperty(name="Quality limit",
+ description = 'Only show assets with a higher quality',
+ default=0, min=0, max=10, update=search.search_update)
def name_update(self, context):
diff --git a/blenderkit/ratings_utils.py b/blenderkit/ratings_utils.py
index 37c1c971..67a79139 100644
--- a/blenderkit/ratings_utils.py
+++ b/blenderkit/ratings_utils.py
@@ -70,8 +70,8 @@ def send_rating_to_thread_work_hours(url, ratings, headers):
def store_rating_local_empty(asset_id):
context = bpy.context
- context.window_manager['asset ratings'] = context.window_manager.get('asset ratings', {})
- context.window_manager['asset ratings'][asset_id] = context.window_manager['asset ratings'].get(asset_id, {})
+ ar = context.window_manager['asset ratings']
+ ar[asset_id] = ar.get(asset_id, {})
def store_rating_local(asset_id, type='quality', value=0):
diff --git a/blenderkit/search.py b/blenderkit/search.py
index b58dd28d..59f9f838 100644
--- a/blenderkit/search.py
+++ b/blenderkit/search.py
@@ -1081,6 +1081,9 @@ def build_query_common(query, props):
query_common["files_size_gte"] = props.search_file_size_min * 1024 * 1024
query_common["files_size_lte"] = props.search_file_size_max * 1024 * 1024
+ if props.quality_limit > 0:
+ query["quality_gte"] = props.quality_limit
+
query.update(query_common)
@@ -1106,6 +1109,7 @@ def build_query_model():
# if props.search_advanced:
if props.search_condition != 'UNSPECIFIED':
query["condition"] = props.search_condition
+
if props.search_design_year:
query["designYear_gte"] = props.search_design_year_min
query["designYear_lte"] = props.search_design_year_max
diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py
index bc20169f..f09f0b2a 100644
--- a/blenderkit/ui_panels.py
+++ b/blenderkit/ui_panels.py
@@ -819,6 +819,7 @@ class VIEW3D_PT_blenderkit_advanced_model_search(Panel):
# AGE
layout.prop(props, "search_condition", text='Condition') # , text ='condition of object new/old e.t.c.')
+ layout.prop(props, "quality_limit", slider=True) # , text ='condition of object new/old e.t.c.')
# layout.prop(props, "search_procedural", expand=True)
# ADULT
@@ -867,7 +868,7 @@ class VIEW3D_PT_blenderkit_advanced_material_search(Panel):
row = layout.row(align=True)
row.prop(props, "search_file_size_min", text='Min')
row.prop(props, "search_file_size_max", text='Max')
-
+ layout.prop(props, "quality_limit", slider=True)
class VIEW3D_PT_blenderkit_categories(Panel):
bl_category = "BlenderKit"
More information about the Bf-extensions-cvs
mailing list