[Bf-blender-cvs] [8ab97aa2ffe] asset-engine: Fix two bugs with Amber engine:
Bastien Montagne
noreply at git.blender.org
Tue Sep 5 11:10:31 CEST 2017
Commit: 8ab97aa2ffe99dc3f261cc600e16c1809e1803b6
Author: Bastien Montagne
Date: Tue Sep 5 11:08:16 2017 +0200
Branches: asset-engine
https://developer.blender.org/rB8ab97aa2ffe99dc3f261cc600e16c1809e1803b6
Fix two bugs with Amber engine:
* Reported number of assets was -1 in list_dir callback, incorrect and
would loop endlessly in case of empty repo!
* Conversion from main asset classes to their propertygroup
representations was not clearing extra entries in proplists.
===================================================================
M release/scripts/startup/bl_operators/amber/engine.py
M release/scripts/startup/bl_operators/amber/repository.py
===================================================================
diff --git a/release/scripts/startup/bl_operators/amber/engine.py b/release/scripts/startup/bl_operators/amber/engine.py
index 2cfca419ff8..8e5761261f7 100644
--- a/release/scripts/startup/bl_operators/amber/engine.py
+++ b/release/scripts/startup/bl_operators/amber/engine.py
@@ -230,7 +230,7 @@ class AssetEngineAmber(AssetEngine):
self.repo = {}
self.dirs = []
- self.repository.clear()
+ self.repository.clear(self.repository_pg)
self.sortedfiltered = []
@@ -388,10 +388,10 @@ class AssetEngineAmber(AssetEngine):
utils.amber_repos[uuid_repo] = (self.repository.name, self.root) # XXX Not resistant to uuids collisions (use a set instead)...
utils.save_amber_repos()
self.repos[uuid_repo] = self.repo
- entries.nbr_entries = len(self.repository.assets)
+ entries.nbr_entries = len(self.repository.assets) + 1 # Don't forget the 'up' entry!
else:
entries.nbr_entries = len(self.dirs)
- self.repository.clear()
+ self.repository.clear(self.repository_pg)
return job_id
def update_check(self, job_id, uuids):
diff --git a/release/scripts/startup/bl_operators/amber/repository.py b/release/scripts/startup/bl_operators/amber/repository.py
index d20f637af05..70604febaa0 100644
--- a/release/scripts/startup/bl_operators/amber/repository.py
+++ b/release/scripts/startup/bl_operators/amber/repository.py
@@ -397,6 +397,8 @@ class AmberDataAsset():
AmberDataAssetVariant.to_pg(asset_pg.variants, asset.variants)
asset_pg.variant_default = asset.variant_default.uuid
+ for idx in range(len(pg), len(assets), -1):
+ pg.remove(idx - 1)
class AmberDataRepositoryPG(PropertyGroup):
@@ -433,7 +435,7 @@ class AmberDataRepository:
self.clear()
- def clear(self):
+ def clear(self, repository_pg=None):
self.path = ""
self.version = "1.0.1"
self.name = ""
@@ -442,6 +444,10 @@ class AmberDataRepository:
self.tags.clear()
self.assets.clear()
+ if repository_pg is not None:
+ self.to_pg(repository_pg)
+ print(repository_pg, len(repository_pg.assets))
+
@classmethod
def ls_repo(cls, db_path):
repo_dict = None
More information about the Bf-blender-cvs
mailing list