Revision: 8899
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8899&view=rev
Author:   jdh2358
Date:     2011-01-06 19:42:08 +0000 (Thu, 06 Jan 2011)

Log Message:
-----------
support relative paths in examples.directory

Modified Paths:
--------------
    branches/v1_0_maint/doc/matplotlibrc
    branches/v1_0_maint/lib/matplotlib/__init__.py

Modified: branches/v1_0_maint/doc/matplotlibrc
===================================================================
--- branches/v1_0_maint/doc/matplotlibrc        2011-01-06 13:57:51 UTC (rev 
8898)
+++ branches/v1_0_maint/doc/matplotlibrc        2011-01-06 19:42:08 UTC (rev 
8899)
@@ -8,6 +8,8 @@
 # w/o invoking file downloads for the sampledata (see
 # matplotlib.cbook.get_sample_data.  Unpack
 # mpl_sampledata-VERSION.tar.gz and point examples.directory to it.
+# You can use a relative path for examples.directory and it must be
+# relative to this matplotlibrc file
 
 #examples.download : False  # False to bypass downloading mechanism
-#examples.directory : 
/home/titan/johnh/python/svn/matplotlib.trunk/sample_data/   # directory to 
look in if download is false
+#examples.directory : /your/path/to/sample_data/   # directory to look in if 
download is false

Modified: branches/v1_0_maint/lib/matplotlib/__init__.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/__init__.py      2011-01-06 13:57:51 UTC 
(rev 8898)
+++ branches/v1_0_maint/lib/matplotlib/__init__.py      2011-01-06 19:42:08 UTC 
(rev 8899)
@@ -762,6 +762,21 @@
 
 # this is the instance used by the matplotlib classes
 rcParams = rc_params()
+
+if rcParams['examples.directory']:
+    # paths that are intended to be relative to matplotlib_fname()
+    # are allowed for the examples.directory parameter.
+    # However, we will need to fully qualify the path because
+    # Sphinx requires absolute paths.
+    if not os.path.isabs(rcParams['examples.directory']):
+        _basedir, _fname = os.path.split(matplotlib_fname())
+        # Sometimes matplotlib_fname() can return relative paths,
+        # Also, using realpath() guarentees that Sphinx will use
+        # the same path that matplotlib sees (in case of weird symlinks).
+        _basedir = os.path.realpath(_basedir)
+        _fullpath = os.path.join(_basedir, rcParams['examples.directory'])
+        rcParams['examples.directory'] = _fullpath
+
 rcParamsOrig = rcParams.copy()
 
 rcParamsDefault = RcParams([ (key, default) for key, (default, converter) in \
@@ -770,6 +785,8 @@
 rcParams['ps.usedistiller'] = 
checkdep_ps_distiller(rcParams['ps.usedistiller'])
 rcParams['text.usetex'] = checkdep_usetex(rcParams['text.usetex'])
 
+
+
 def rc(group, **kwargs):
     """
     Set the current rc params.  Group is the grouping for the rc, eg.


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

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to