[Bf-blender-cvs] [bf1a34d0004] asset-engine: Amber: Fix several issues with edit code when there was no repo present yet.
Bastien Montagne
noreply at git.blender.org
Tue Jan 9 11:03:03 CET 2018
Commit: bf1a34d0004fb43c316712bbdfa88d7f4b43bb0d
Author: Bastien Montagne
Date: Tue Jan 9 11:02:12 2018 +0100
Branches: asset-engine
https://developer.blender.org/rBbf1a34d0004fb43c316712bbdfa88d7f4b43bb0d
Amber: Fix several issues with edit code when there was no repo present yet.
Reported by Campbell on IRC, thanks.
===================================================================
M release/scripts/modules/amber/operators.py
M release/scripts/modules/amber/repository.py
M release/scripts/modules/amber/ui.py
===================================================================
diff --git a/release/scripts/modules/amber/operators.py b/release/scripts/modules/amber/operators.py
index df010c98c7e..ed57fd5413a 100644
--- a/release/scripts/modules/amber/operators.py
+++ b/release/scripts/modules/amber/operators.py
@@ -72,7 +72,7 @@ class AmberOpsRepositoryAdd(Operator, AmberOpsEditing):
ae = context.space_data.asset_engine
path = context.space_data.params.directory
- if getattr(ae, "repo", None) is not None:
+ if getattr(ae, "repo", None):
self.report({'INFO'}, "Current directory is already an Amber repository, '%s'" % ae.repo.name)
return {'CANCELLED'}
if os.path.exists(os.path.join(path, utils.AMBER_DB_NAME)):
@@ -140,6 +140,10 @@ class AmberOpsRepositoryRemove(Operator, AmberOpsEditing):
os.rmdir(data_path)
ae.repositories_pg.repositories.remove(ae.repositories_pg.repository_index_active)
+ ae.repositories_pg.repository_index_active -= 1
+ repos = AmberDataRepositoryList()
+ repos.from_pg(ae.repositories_pg)
+ repos.save()
if self.do_erase:
os.remove(db_path)
diff --git a/release/scripts/modules/amber/repository.py b/release/scripts/modules/amber/repository.py
index c1247691340..ab8d1a3ad3a 100644
--- a/release/scripts/modules/amber/repository.py
+++ b/release/scripts/modules/amber/repository.py
@@ -718,7 +718,7 @@ class AmberDataRepositoryListItemPG(PropertyGroup):
class AmberDataRepositoryListPG(PropertyGroup):
- def repositories_update(self, context):
+ def repositories_active_update(self, context):
space = context.space_data
if space and space.type == 'FILE_BROWSER':
ae = space.asset_engine
@@ -726,7 +726,8 @@ class AmberDataRepositoryListPG(PropertyGroup):
space.params.directory = self.repositories[self.repository_index_active].path
repositories = CollectionProperty(name="Repositories", type=AmberDataRepositoryListItemPG)
- repository_index_active = IntProperty(name="Active Repository", options={'HIDDEN'}, update=repositories_update, default=-1)
+ repository_index_active = IntProperty(name="Active Repository", options={'HIDDEN'},
+ update=repositories_active_update, default=-1)
class AmberDataRepositoryList:
diff --git a/release/scripts/modules/amber/ui.py b/release/scripts/modules/amber/ui.py
index 2fcab837f55..07d98d01c05 100644
--- a/release/scripts/modules/amber/ui.py
+++ b/release/scripts/modules/amber/ui.py
@@ -69,9 +69,10 @@ class AMBER_PT_repositories(Panel, AmberPanel):
col.operator("AMBER_OT_repository_remove", text="", icon='ZOOMOUT')
col.operator("AMBER_OT_repository_remove", text="", icon='PANEL_CLOSE').do_erase = True
- repo = ae.repositories_pg.repositories[ae.repositories_pg.repository_index_active]
- row = self.layout.row()
- row.prop(repo, "path", text="")
+ if 0 <= ae.repositories_pg.repository_index_active < len(ae.repositories_pg.repositories):
+ repo = ae.repositories_pg.repositories[ae.repositories_pg.repository_index_active]
+ row = self.layout.row()
+ row.prop(repo, "path", text="")
class AMBER_UL_tags_filter(UIList):
More information about the Bf-blender-cvs
mailing list