[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