[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59637] trunk/blender/release/scripts/ startup/bl_ui/__init__.py: Optimizations by Campbell, thanks!
Bastien Montagne
montagne29 at wanadoo.fr
Thu Aug 29 16:37:46 CEST 2013
Revision: 59637
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59637
Author: mont29
Date: 2013-08-29 14:37:46 +0000 (Thu, 29 Aug 2013)
Log Message:
-----------
Optimizations by Campbell, thanks!
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_ui/__init__.py
Modified: trunk/blender/release/scripts/startup/bl_ui/__init__.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/__init__.py 2013-08-29 14:18:46 UTC (rev 59636)
+++ trunk/blender/release/scripts/startup/bl_ui/__init__.py 2013-08-29 14:37:46 UTC (rev 59637)
@@ -155,21 +155,20 @@
"""
import fnmatch
- if not pattern: # Empty pattern = no filtering!
+ if not pattern or not items: # Empty pattern or list = no filtering!
return flags or []
if flags is None:
flags = [0] * len(items)
- for idx, it in enumerate(items):
- name = getattr(it, propname, None)
- # Implicitly add heading/trailing wildcards if needed.
- if pattern[0] != "*":
- pattern = "*" + pattern
- if pattern[-1] != "*":
- pattern = pattern + "*"
+
+ # Implicitly add heading/trailing wildcards.
+ pattern = "*" + pattern + "*"
+
+ for i, item in enumerate(items):
+ name = getattr(item, propname, None)
# This is similar to a logical xor
- if bool(name and fnmatch.fnmatch(name.lower(), pattern.lower())) is not bool(reverse):
- flags[idx] |= bitflag
+ if bool(name and fnmatch.fnmatchcase(name, pattern)) is not bool(reverse):
+ flags[i] |= bitflag
return flags
@staticmethod
More information about the Bf-blender-cvs
mailing list