@@ -713,29 +713,16 @@ def gen_candidates():
713
713
"install is broken" )
714
714
715
715
716
- # rcParams deprecated and automatically mapped to another key.
717
- # Values are tuples of (version, new_name, f_old2new, f_new2old) .
718
- _deprecated_map = {}
719
-
720
- # rcParams deprecated; some can manually be mapped to another key.
721
- # Values are tuples of (version, new_name_or_None).
722
- _deprecated_ignore_map = {
723
- 'pgf.debug ' : ( '3.0' , None ) ,
716
+ # Deprecated rcParams, with kwargs to warn_deprecated. Must at least specify
717
+ # the 'since' key .
718
+ _deprecated_rcs = {
719
+ 'pgf.debug' : { 'since' : '3.0' },
720
+ 'text.latex.unicode' : { 'since' : '3.0' },
721
+ 'savefig.frameon' : { 'since' : '3.1' },
722
+ 'verbose.fileo' : { 'since' : '3.1' },
723
+ 'verbose.level ' : { 'since' : '3.1' } ,
724
724
}
725
725
726
- # rcParams deprecated; can use None to suppress warnings; remain actually
727
- # listed in the rcParams (not included in _all_deprecated).
728
- # Values are tuples of (version,)
729
- _deprecated_remain_as_none = {
730
- 'text.latex.unicode' : ('3.0' ,),
731
- 'savefig.frameon' : ('3.1' ,),
732
- 'verbose.fileo' : ('3.1' ,),
733
- 'verbose.level' : ('3.1' ,),
734
- }
735
-
736
-
737
- _all_deprecated = {* _deprecated_map , * _deprecated_ignore_map }
738
-
739
726
740
727
class RcParams (MutableMapping , dict ):
741
728
"""
@@ -750,34 +737,20 @@ class RcParams(MutableMapping, dict):
750
737
"""
751
738
752
739
validate = {key : converter
753
- for key , (default , converter ) in defaultParams .items ()
754
- if key not in _all_deprecated }
740
+ for key , (default , converter ) in defaultParams .items ()}
755
741
756
742
# validate values on the way in
757
743
def __init__ (self , * args , ** kwargs ):
758
744
self .update (* args , ** kwargs )
759
745
760
746
def __setitem__ (self , key , val ):
747
+ if (key == 'backend' and val is rcsetup ._auto_backend_sentinel
748
+ and 'backend' in self ):
749
+ return
750
+ if key in _deprecated_rcs :
751
+ cbook .warn_deprecated (
752
+ ** {"name" : key , "obj_type" : "rcparam" , ** _deprecated_rcs [key ]})
761
753
try :
762
- if key in _deprecated_map :
763
- version , alt_key , alt_val , inverse_alt = _deprecated_map [key ]
764
- cbook .warn_deprecated (
765
- version , name = key , obj_type = "rcparam" , alternative = alt_key )
766
- key = alt_key
767
- val = alt_val (val )
768
- elif key in _deprecated_remain_as_none and val is not None :
769
- version , = _deprecated_remain_as_none [key ]
770
- cbook .warn_deprecated (
771
- version , name = key , obj_type = "rcparam" )
772
- elif key in _deprecated_ignore_map :
773
- version , alt_key = _deprecated_ignore_map [key ]
774
- cbook .warn_deprecated (
775
- version , name = key , obj_type = "rcparam" , alternative = alt_key )
776
- return
777
- elif key == 'backend' :
778
- if val is rcsetup ._auto_backend_sentinel :
779
- if 'backend' in self :
780
- return
781
754
try :
782
755
cval = self .validate [key ](val )
783
756
except ValueError as ve :
@@ -789,24 +762,14 @@ def __setitem__(self, key, val):
789
762
f"a list of valid parameters)" )
790
763
791
764
def __getitem__ (self , key ):
792
- if key in _deprecated_map :
793
- version , alt_key , alt_val , inverse_alt = _deprecated_map [key ]
794
- cbook .warn_deprecated (
795
- version , name = key , obj_type = "rcparam" , alternative = alt_key )
796
- return inverse_alt (dict .__getitem__ (self , alt_key ))
797
-
798
- elif key in _deprecated_ignore_map :
799
- version , alt_key = _deprecated_ignore_map [key ]
800
- cbook .warn_deprecated (
801
- version , name = key , obj_type = "rcparam" , alternative = alt_key )
802
- return dict .__getitem__ (self , alt_key ) if alt_key else None
803
-
804
- elif key == "backend" :
765
+ if key == "backend" :
805
766
val = dict .__getitem__ (self , key )
806
767
if val is rcsetup ._auto_backend_sentinel :
807
768
from matplotlib import pyplot as plt
808
769
plt .switch_backend (rcsetup ._auto_backend_sentinel )
809
-
770
+ if key in _deprecated_rcs :
771
+ cbook .warn_deprecated (
772
+ ** {"name" : key , "obj_type" : "rcparam" , ** _deprecated_rcs [key ]})
810
773
return dict .__getitem__ (self , key )
811
774
812
775
def __repr__ (self ):
@@ -926,11 +889,6 @@ def _rc_params_in_file(fname, fail_on_error=False):
926
889
error_details = _error_details_fmt % (line_no , line , fname )
927
890
_log .warning ('Bad val %r on %s\n \t %s' ,
928
891
val , error_details , msg )
929
- elif key in _deprecated_ignore_map :
930
- version , alt_key = _deprecated_ignore_map [key ]
931
- cbook .warn_deprecated (
932
- version , name = key , alternative = alt_key ,
933
- addendum = "Please update your matplotlibrc." )
934
892
else :
935
893
version = 'master' if '.post' in __version__ else f'v{ __version__ } '
936
894
print (f"""
@@ -964,8 +922,7 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True):
964
922
965
923
iter_params = defaultParams .items ()
966
924
with cbook ._suppress_matplotlib_deprecation_warning ():
967
- config = RcParams ([(key , default ) for key , (default , _ ) in iter_params
968
- if key not in _all_deprecated ])
925
+ config = RcParams ((key , default ) for key , (default , _ ) in iter_params )
969
926
config .update (config_from_file )
970
927
971
928
if config ['datapath' ] is None :
@@ -990,9 +947,8 @@ def rc_params_from_file(fname, fail_on_error=False, use_default_template=True):
990
947
991
948
with cbook ._suppress_matplotlib_deprecation_warning ():
992
949
rcParamsOrig = RcParams (rcParams .copy ())
993
- rcParamsDefault = RcParams ([(key , default ) for key , (default , converter ) in
994
- defaultParams .items ()
995
- if key not in _all_deprecated ])
950
+ rcParamsDefault = RcParams (
951
+ (key , default ) for key , (default , converter ) in defaultParams .items ())
996
952
997
953
if rcParams ['axes.formatter.use_locale' ]:
998
954
locale .setlocale (locale .LC_ALL , '' )
0 commit comments