[Bf-blender-cvs] [d19fe1e] ui-preview-buttons: Tweak to new and load methods
Campbell Barton
noreply at git.blender.org
Tue May 5 17:08:40 CEST 2015
Commit: d19fe1ea279363ecf557836a5852b0cd86cca1d8
Author: Campbell Barton
Date: Wed May 6 01:06:15 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rBd19fe1ea279363ecf557836a5852b0cd86cca1d8
Tweak to new and load methods
setdefault would still evaluate the fallback argument,
now avoid calling the real new/load, when the we already have the value loaded
===================================================================
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 ccd0ebd..5390c54 100644
--- a/release/scripts/modules/bpy/utils/previews.py
+++ b/release/scripts/modules/bpy/utils/previews.py
@@ -68,16 +68,19 @@ class _BPyImagePreviewCollection(dict):
return ":".join((self._uuid, name))
def new(self, name):
- return self.setdefault(name, _previews.new(self._gen_key(name)))
+ p = self.get(name)
+ if p is None:
+ 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):
- pkey = self._gen_key(name)
- if force_reload:
- self[name] = p = _previews.load(pkey, path, path_type, True)
- return p
- else:
- return self.setdefault(name, _previews.load(pkey, path, path_type, 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)
+ return p
load.__doc__ = _previews.load.__doc__
def release(self, name):
More information about the Bf-blender-cvs
mailing list