From ecdd010c1eadedb97fa81ea1ba3b44bc06cd4115 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vil=C3=A9m=20Duha?= <vilda.novak@gmail.com>
Date: Mon, 15 Feb 2021 13:48:18 +0100
Subject: [PATCH] BlenderKit: fixes - upload and scene append

Upload was wrongly detecting new upload from an asset with ID
Scenes appended had upload props on - switched to search(should be moved to window manager, similar as search results, or somehow find a way to have global for every file.)
---
 blenderkit/__init__.py    |  2 +-
 blenderkit/append_link.py |  5 +++++
 blenderkit/upload.py      | 10 +++++++---
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index 145e0fc8c..d7591d665 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -574,7 +574,7 @@ class BlenderKitCommonSearchProps(object):
 def name_update(self, context):
     ''' checks for name change, because it decides if whole asset has to be re-uploaded. Name is stored in the blend file
     and that's the reason.'''
-    utils.name_update(self.blenderkit)
+    utils.name_update(self)
 
 
 
diff --git a/blenderkit/append_link.py b/blenderkit/append_link.py
index 8ec861c93..a8b5c7185 100644
--- a/blenderkit/append_link.py
+++ b/blenderkit/append_link.py
@@ -87,6 +87,11 @@ def append_scene(file_name, scenename=None, link=False, fake_user=False):
         scene.use_fake_user = True
     # scene has to have a new uuid, so user reports aren't screwed.
     scene['uuid'] = str(uuid.uuid4())
+
+    #reset ui_props of the scene to defaults:
+    ui_props = bpy.context.scene.blenderkitUI
+    ui_props.down_up = 'SEARCH'
+
     return scene
 
 
diff --git a/blenderkit/upload.py b/blenderkit/upload.py
index 405c11005..49533e99b 100644
--- a/blenderkit/upload.py
+++ b/blenderkit/upload.py
@@ -467,7 +467,7 @@ def get_upload_data(caller=None, context=None, asset_type=None):
     add_version(upload_data)
 
     # caller can be upload operator, but also asset bar called from tooltip generator
-    if caller and caller.main_file == True:
+    if caller and caller.properties.main_file == True:
         upload_data["name"] = props.name
         upload_data["displayName"] = props.name
     else:
@@ -1069,8 +1069,7 @@ def start_upload(self, context, asset_type, reupload, upload_set):
         props.id = ''
 
     export_data, upload_data = get_upload_data(caller=self, context=context, asset_type=asset_type)
-    # print(export_data)
-    # print(upload_data)
+
     # check if thumbnail exists, generate for HDR:
     if 'THUMBNAIL' in upload_set:
         if asset_type == 'HDR':
@@ -1185,6 +1184,11 @@ class UploadOperator(Operator):
             if self.main_file:
                 upload_set.append('MAINFILE')
 
+        #this is accessed later in get_upload_data and needs to be written.
+        # should pass upload_set all the way to it probably
+        if 'MAINFILE' in upload_set:
+            self.main_file = True
+
         result = start_upload(self, context, self.asset_type, self.reupload, upload_set=upload_set, )
 
         return {'FINISHED'}
-- 
GitLab