Skip to content

Commit 68a16c9

Browse files
committed
Make namespaces private and correct setdefault
1 parent 54b6964 commit 68a16c9

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

lib/matplotlib/__init__.py

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -662,19 +662,19 @@ class RcParams(MutableMapping):
662662
:ref:`customizing-with-matplotlibrc-files`
663663
"""
664664
validate = rcsetup._validators
665-
namespaces = ("backends", "lines", "patches", "hatches", "boxplot", "font", "text",
666-
"latex", "axes", "date", "xtick", "ytick", "grid", "legend",
667-
"figure", "image", "contour", "errorbar", "hist", "scatter", "agg",
668-
"path", "savefig", "tk", "ps", "pdf", "svg", "pgf", "docstring",
669-
"keymap", "animation", "_internal", "webagg", "markers", "pcolor",
670-
"pcolormesh", "patch", "hatch", "mathtext", "polaraxes", "axes3d",
671-
"xaxis", "yaxis", "default")
665+
_namespaces = ("backends", "lines", "patches", "hatches", "boxplot", "font", "text",
666+
"latex", "axes", "date", "xtick", "ytick", "grid", "legend",
667+
"figure", "image", "contour", "errorbar", "hist", "scatter", "agg",
668+
"path", "savefig", "tk", "ps", "pdf", "svg", "pgf", "docstring",
669+
"keymap", "animation", "_internal", "webagg", "markers", "pcolor",
670+
"pcolormesh", "patch", "hatch", "mathtext", "polaraxes", "axes3d",
671+
"xaxis", "yaxis", "default")
672672

673-
single_key_set = {"backend", "toolbar", "interactive",
674-
"timezone", "backend_fallback"}
673+
_single_key_set = {"backend", "toolbar", "interactive",
674+
"timezone", "backend_fallback"}
675675

676676
def __init__(self, *args, **kwargs):
677-
self._namespace_maps = {name: ChainMap({}) for name in self.namespaces}
677+
self._namespace_maps = {name: ChainMap({}) for name in self._namespaces}
678678
self.update(*args, **kwargs)
679679
self._new_child()
680680

@@ -712,7 +712,7 @@ def _set(self, key, val):
712712
"""
713713
keys, depth = self._split_key(key)
714714
if depth == 1:
715-
if key in self.single_key_set:
715+
if key in self._single_key_set:
716716
self._namespace_maps["default"][key] = val
717717
# Uncomment the following line and remove the raise statement
718718
# to enable setting namespaces.
@@ -751,7 +751,7 @@ def _get(self, key):
751751
"""
752752
keys, depth = self._split_key(key)
753753
if depth == 1:
754-
if key in self.single_key_set:
754+
if key in self._single_key_set:
755755
return self._namespace_maps["default"].get(key)
756756
# Uncomment the following line and remove the raise statement
757757
# to enable getting namespace parameters.
@@ -785,7 +785,7 @@ def __setitem__(self, key, val):
785785
return
786786
try:
787787
cval = self.validate[key](val)
788-
if key in self.single_key_set:
788+
if key in self._single_key_set:
789789
key = f"default.{key}"
790790
except ValueError as ve:
791791
raise ValueError(f"Key {key}: {ve}") from None
@@ -821,7 +821,7 @@ def __getitem__(self, key):
821821
def _get_default(self, key):
822822
keys, depth = self._split_key(key)
823823
if depth == 1:
824-
if key in self.single_key_set:
824+
if key in self._single_key_set:
825825
return self._namespace_maps["default"].get(key)
826826
# Uncomment the following line and remove the raise statement
827827
# to enable getting namespace parameters.
@@ -863,7 +863,7 @@ def __delitem__(self, key):
863863
keys, depth = self._split_key(key)
864864
try:
865865
if depth == 1:
866-
if key in self.single_key_set:
866+
if key in self._single_key_set:
867867
del self._namespace_maps["default"][key]
868868
else:
869869
raise KeyError
@@ -877,7 +877,7 @@ def __delitem__(self, key):
877877
def __contains__(self, key):
878878
keys, depth = self._split_key(key)
879879
if depth == 1:
880-
if key in self.single_key_set:
880+
if key in self._single_key_set:
881881
return key in self._namespace_maps["default"]
882882
else:
883883
return False
@@ -912,7 +912,7 @@ def __str__(self):
912912
def pop(self, key):
913913
keys, depth = self._split_key(key)
914914
if depth == 1:
915-
if key in self.single_key_set:
915+
if key in self._single_key_set:
916916
return self._namespace_mapping["default"][key]
917917
else:
918918
raise KeyError(
@@ -930,6 +930,12 @@ def clear(self):
930930
self._namespace_maps[namespace].clear()
931931

932932
def setdefault(self, key, default=None):
933+
"""Insert key with a value of default if key is not in the dictionary.
934+
935+
Return the value for key if key is in the dictionary, else default.
936+
"""
937+
if key in self:
938+
return self[key]
933939
self[key] = default
934940
return default
935941

lib/matplotlib/style/core.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ def use(style):
149149
else:
150150
filtered[k] = style[k]
151151
mpl.rcParams.update(filtered)
152-
mpl.rcParams._new_child()
153152

154153

155154
@contextlib.contextmanager

0 commit comments

Comments
 (0)