Skip to content

Commit 0476889

Browse files
committed
Add rcParams._getitem_skip_deprecation.
1 parent cc6ab92 commit 0476889

File tree

6 files changed

+21
-16
lines changed

6 files changed

+21
-16
lines changed

lib/matplotlib/__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -762,14 +762,17 @@ def __setitem__(self, key, val):
762762
f"a list of valid parameters)")
763763

764764
def __getitem__(self, key):
765+
if key in _deprecated_rcs:
766+
cbook.warn_deprecated(
767+
**{"name": key, "obj_type": "rcparam", **_deprecated_rcs[key]})
768+
return self._getitem_skip_deprecation(key)
769+
770+
def _getitem_skip_deprecation(self, key):
765771
if key == "backend":
766772
val = dict.__getitem__(self, key)
767773
if val is rcsetup._auto_backend_sentinel:
768774
from matplotlib import pyplot as plt
769775
plt.switch_backend(rcsetup._auto_backend_sentinel)
770-
if key in _deprecated_rcs:
771-
cbook.warn_deprecated(
772-
**{"name": key, "obj_type": "rcparam", **_deprecated_rcs[key]})
773776
return dict.__getitem__(self, key)
774777

775778
def __repr__(self):

lib/matplotlib/figure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2160,7 +2160,7 @@ def savefig(self, fname, *, transparent=None, **kwargs):
21602160
alternative="facecolor")
21612161
frameon = kwargs.pop("frameon")
21622162
if frameon is None:
2163-
frameon = dict.__getitem__(rcParams, 'savefig.frameon')
2163+
frameon = rcParams._getitem_skip_deprecation('savefig.frameon')
21642164
else:
21652165
frameon = False # Won't pass "if frameon:" below.
21662166
if transparent is None:

lib/matplotlib/projections/geo.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ def __init__(self, round_to=1.0):
2323

2424
def __call__(self, x, pos=None):
2525
degrees = round(np.rad2deg(x) / self._round_to) * self._round_to
26-
if (rcParams['text.usetex']
27-
and not dict.__getitem__(rcParams, 'text.latex.unicode')):
26+
if (rcParams['text.usetex'] and
27+
not rcParams._get_skip_deprecation('text.latex.unicode')):
2828
return r"$%0.0f^\circ$" % degrees
2929
else:
3030
return "%0.0f\N{DEGREE SIGN}" % degrees

lib/matplotlib/projections/polar.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ def __call__(self, x, pos=None):
166166
d = np.rad2deg(abs(vmax - vmin))
167167
digits = max(-int(np.log10(d) - 1.5), 0)
168168

169-
if (rcParams['text.usetex']
170-
and not dict.__getitem__(rcParams, 'text.latex.unicode')):
169+
if (rcParams['text.usetex'] and
170+
not rcParams._getitem_skip_deprecation('text.latex.unicode')):
171171
format_str = r"${value:0.{digits:d}f}^\circ$"
172172
return format_str.format(value=np.rad2deg(x), digits=digits)
173173
else:

lib/matplotlib/texmanager.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -169,15 +169,17 @@ def get_font_config(self):
169169
if self._rc_cache is None:
170170
self._rc_cache = dict.fromkeys(self._rc_cache_keys)
171171
changed = [par for par in self._rc_cache_keys
172-
if dict.__getitem__(rcParams, par) != self._rc_cache[par]]
172+
if (rcParams._getitem_skip_deprecation(par)
173+
!= self._rc_cache[par])]
173174
if changed:
174175
_log.debug('following keys changed: %s', changed)
175176
for k in changed:
176177
_log.debug('%-20s: %-10s -> %-10s',
177-
k, self._rc_cache[k], dict.__getitem__(rcParams, k))
178+
k, self._rc_cache[k],
179+
rcParams._getitem_skip_deprecation(k))
178180
# deepcopy may not be necessary, but feels more future-proof
179181
self._rc_cache[k] = copy.deepcopy(
180-
dict.__getitem__(rcParams, k))
182+
rcParams._getitem_skip_deprecation(k))
181183
_log.debug('RE-INIT\nold fontconfig: %s', self._fontconfig)
182184
self._reinit()
183185
_log.debug('fontconfig: %s', self._fontconfig)
@@ -210,7 +212,7 @@ def make_tex(self, tex, fontsize):
210212
unicode_preamble = "\n".join([
211213
r"\usepackage[utf8]{inputenc}",
212214
r"\DeclareUnicodeCharacter{2212}{\ensuremath{-}}",
213-
]) if dict.__getitem__(rcParams, "text.latex.unicode") else ""
215+
]) if rcParams._getitem_skip_deprecation("text.latex.unicode") else ""
214216

215217
s = r"""
216218
\documentclass{article}
@@ -225,7 +227,7 @@ def make_tex(self, tex, fontsize):
225227
""" % (self._font_preamble, unicode_preamble, custom_preamble,
226228
fontsize, fontsize * 1.25, tex)
227229
with open(texfile, 'wb') as fh:
228-
if dict.__getitem__(rcParams, 'text.latex.unicode'):
230+
if rcParams._getitem_skip_deprecation('text.latex.unicode'):
229231
fh.write(s.encode('utf8'))
230232
else:
231233
try:
@@ -260,7 +262,7 @@ def make_tex_preview(self, tex, fontsize):
260262
unicode_preamble = "\n".join([
261263
r"\usepackage[utf8]{inputenc}",
262264
r"\DeclareUnicodeCharacter{2212}{\ensuremath{-}}",
263-
]) if dict.__getitem__(rcParams, "text.latex.unicode") else ""
265+
]) if rcParams._getitem_skip_deprecation("text.latex.unicode") else ""
264266

265267
# newbox, setbox, immediate, etc. are used to find the box
266268
# extent of the rendered text.
@@ -286,7 +288,7 @@ def make_tex_preview(self, tex, fontsize):
286288
""" % (self._font_preamble, unicode_preamble, custom_preamble,
287289
fontsize, fontsize * 1.25, tex)
288290
with open(texfile, 'wb') as fh:
289-
if dict.__getitem__(rcParams, 'text.latex.unicode'):
291+
if rcParams._getitem_skip_deprecation('text.latex.unicode'):
290292
fh.write(s.encode('utf8'))
291293
else:
292294
try:

lib/matplotlib/ticker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ def fix_minus(s):
292292
# unicode support (this is deprecated, i.e., in a future version,
293293
# unicode support will always be enabled).
294294
if (rcParams['axes.unicode_minus']
295-
and (dict.__getitem__(rcParams, 'text.latex.unicode')
295+
and (rcParams._getitem_skip_deprecation('text.latex.unicode')
296296
or not rcParams['text.usetex'])):
297297
return s.replace('-', '\N{MINUS SIGN}')
298298
else:

0 commit comments

Comments
 (0)