From d32e2ab37aeabab1a3ffdfd7da280bf7186fa372 Mon Sep 17 00:00:00 2001 From: Nelle Varoquaux Date: Sat, 29 Jun 2013 17:42:56 +0200 Subject: [PATCH] ENH Move _string_to_bool from axes._base to cbook --- lib/matplotlib/axes/__init__.py | 1 - lib/matplotlib/axes/_axes.py | 1 + lib/matplotlib/axes/_base.py | 11 +---------- lib/matplotlib/cbook.py | 28 ++++++++++++++++++++-------- lib/matplotlib/pyplot.py | 3 ++- lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- 6 files changed, 25 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/axes/__init__.py b/lib/matplotlib/axes/__init__.py index 018398edcb67..8325a8046905 100644 --- a/lib/matplotlib/axes/__init__.py +++ b/lib/matplotlib/axes/__init__.py @@ -1,3 +1,2 @@ from matplotlib.axes._subplots import * from matplotlib.axes._axes import * -from matplotlib.axes._base import _string_to_bool diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 96c885b63362..63759a0cb0b3 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -10,6 +10,7 @@ rcParams = matplotlib.rcParams import matplotlib.cbook as cbook +from matplotlib.cbook import _string_to_bool import matplotlib.collections as mcoll import matplotlib.colors as mcolors import matplotlib.contour as mcontour diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 4aa64af2d1f2..99f09156a006 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -10,6 +10,7 @@ rcParams = matplotlib.rcParams from matplotlib import cbook +from matplotlib.cbook import _string_to_bool from matplotlib import docstring import matplotlib.colors as mcolors import matplotlib.lines as mlines @@ -33,16 +34,6 @@ is_sequence_of_strings = cbook.is_sequence_of_strings -def _string_to_bool(s): - if not is_string_like(s): - return s - if s == 'on': - return True - if s == 'off': - return False - raise ValueError("string argument must be either 'on' or 'off'") - - def _process_plot_format(fmt): """ Process a MATLAB style color/line style format string. Return a diff --git a/lib/matplotlib/cbook.py b/lib/matplotlib/cbook.py index ad2ec5f58724..f44bcb867b2a 100644 --- a/lib/matplotlib/cbook.py +++ b/lib/matplotlib/cbook.py @@ -45,9 +45,9 @@ class MatplotlibDeprecationWarning(UserWarning): mplDeprecation = MatplotlibDeprecationWarning -def _generate_deprecation_message( - since, message='', name='', alternative='', pending=False, - obj_type='attribute'): +def _generate_deprecation_message(since, message='', name='', + alternative='', pending=False, + obj_type='attribute'): if not message: altmessage = '' @@ -464,9 +464,11 @@ class CallbackRegistry: """ def __init__(self, *args): if len(args): - warn_deprecated('1.3', message= - "CallbackRegistry no longer requires a list of callback " - "types. Ignoring arguments. *args will be removed in 1.5") + warn_deprecated( + '1.3', + message="CallbackRegistry no longer requires a list of " + "callback types. Ignoring arguments. *args will " + "be removed in 1.5") self.callbacks = dict() self._cid = 0 self._func_cid_map = {} @@ -750,6 +752,16 @@ def is_scalar_or_string(val): return is_string_like(val) or not iterable(val) +def _string_to_bool(s): + if not is_string_like(s): + return s + if s == 'on': + return True + if s == 'off': + return False + raise ValueError("string argument must be either 'on' or 'off'") + + def get_sample_data(fname, asfileobj=True): """ Return a sample data file. *fname* is a path relative to the @@ -1724,8 +1736,8 @@ def simple_linear_interpolation(a, steps): def recursive_remove(path): if os.path.isdir(path): - for fname in glob.glob(os.path.join(path, '*')) + \ - glob.glob(os.path.join(path, '.*')): + for fname in (glob.glob(os.path.join(path, '*')) + + glob.glob(os.path.join(path, '.*'))): if os.path.isdir(fname): recursive_remove(fname) os.removedirs(fname) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index e650d13b0573..0709f85a2dc2 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -24,6 +24,7 @@ import matplotlib.colorbar from matplotlib import _pylab_helpers, interactive from matplotlib.cbook import dedent, silent_list, is_string_like, is_numlike +from matplotlib.cbook import _string_to_bool from matplotlib import docstring from matplotlib.backend_bases import FigureCanvasBase from matplotlib.figure import Figure, figaspect @@ -35,7 +36,7 @@ from matplotlib.rcsetup import interactive_bk as _interactive_bk from matplotlib.artist import getp, get, Artist from matplotlib.artist import setp as _setp -from matplotlib.axes import Axes, Subplot, _string_to_bool +from matplotlib.axes import Axes, Subplot from matplotlib.projections import PolarAxes from matplotlib import mlab # for csv2rec, detrend_none, window_hanning from matplotlib.scale import get_scale_docs, get_scale_names diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 8e75259db533..dacf33794470 100755 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -1253,7 +1253,7 @@ def grid(self, b=True, **kwargs): # TODO: Operate on each axes separately if len(kwargs) : b = True - self._draw_grid = maxes._string_to_bool(b) + self._draw_grid = cbook._string_to_bool(b) def ticklabel_format(self, **kwargs) : """