[Bf-blender-cvs] [dab4876] ui-preview-buttons: Preview API: be more strict with new/load
Campbell Barton
noreply at git.blender.org
Wed May 6 22:03:32 CEST 2015
Commit: dab4876c8d5e644fbaaa9cfb6b6d666c2e7e150d
Author: Campbell Barton
Date: Thu May 7 06:02:12 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rBdab4876c8d5e644fbaaa9cfb6b6d666c2e7e150d
Preview API: be more strict with new/load
Don't silently reuse existing id's, instead make dev use typical dictionary API calls if they're not sure the item
already exists.
Also add reload method.
===================================================================
M release/scripts/modules/bpy/utils/previews.py
===================================================================
diff --git a/release/scripts/modules/bpy/utils/previews.py b/release/scripts/modules/bpy/utils/previews.py
index 5390c54..ac4c999 100644
--- a/release/scripts/modules/bpy/utils/previews.py
+++ b/release/scripts/modules/bpy/utils/previews.py
@@ -68,21 +68,29 @@ class _BPyImagePreviewCollection(dict):
return ":".join((self._uuid, name))
def new(self, name):
- p = self.get(name)
- if p is None:
- p = self[name] = _previews.new(
- self._gen_key(name))
+ if name in self:
+ raise KeyException("key %r already exists")
+ p = self[name] = _previews.new(
+ self._gen_key(name))
return p
new.__doc__ = _previews.new.__doc__
- def load(self, name, path, path_type, force_reload=False):
- p = None if force_reload else self.get(name)
- if p is None:
- p = self[name] = _previews.load(
- self._gen_key(name), path, path_type, force_reload)
+ def load(self, name, path, path_type):
+ if name in self:
+ raise KeyException("key %r already exists")
+ p = self[name] = _previews.load(
+ self._gen_key(name), path, path_type, False)
return p
load.__doc__ = _previews.load.__doc__
+ def reload(self, name, path, path_type):
+ p = self.get(name)
+ if p in None:
+ raise KeyException("key %r doesn't exist")
+ p = self[name] = _previews.load(
+ self._gen_key(name), path, path_type, True)
+ return p
+
def release(self, name):
p = self.pop(name, None)
if p is not None:
More information about the Bf-blender-cvs
mailing list