Revision: 3749
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3749&view=rev
Author:   mdboom
Date:     2007-08-28 13:29:37 -0700 (Tue, 28 Aug 2007)

Log Message:
-----------
Sped up get_valid_values to improve startup time.

Modified Paths:
--------------
    trunk/matplotlib/lib/matplotlib/artist.py

Modified: trunk/matplotlib/lib/matplotlib/artist.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/artist.py   2007-08-28 20:28:46 UTC (rev 
3748)
+++ trunk/matplotlib/lib/matplotlib/artist.py   2007-08-28 20:29:37 UTC (rev 
3749)
@@ -1,5 +1,5 @@
 from __future__ import division
-import sys
+import sys, re
 from cbook import iterable, flatten
 from transforms import identity_transform
 import matplotlib.units as units
@@ -484,6 +484,7 @@
             aliases[fullname[4:]] = name[4:]
         return aliases
 
+    _get_valid_values_regex = re.compile(r"\n\s*ACCEPTS:\s*(.*)\n")
     def get_valid_values(self, attr):
         """
         get the legal arguments for the setter associated with attr
@@ -505,10 +506,10 @@
 
         if docstring.startswith('alias for '):
             return None
-        for line in docstring.split('\n'):
-            line = line.lstrip()
-            if not line.startswith('ACCEPTS:'): continue
-            return line[8:].strip()
+
+        match = self._get_valid_values_regex.search(docstring)
+        if match is not None:
+            return match.group(1)
         return 'unknown'
 
     def get_setters(self):


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to