@@ -240,8 +240,8 @@ class Verbose:
240
240
241
241
242
242
243
- def __init__ (self , level ):
244
- self .set_level (level )
243
+ def __init__ (self ):
244
+ self .set_level ('silent' )
245
245
self .fileo = sys .stdout
246
246
247
247
def set_level (self , level ):
@@ -253,6 +253,21 @@ def set_level(self, level):
253
253
raise ValueError ('Illegal verbose string "%s". Legal values are %s' % (level , self .levels ))
254
254
self .level = level
255
255
256
+ def set_fileo (self , fname ):
257
+ std = {
258
+ 'sys.stdout' : sys .stdout ,
259
+ 'sys.stderr' : sys .stderr ,
260
+ }
261
+ if fname in std :
262
+ self .fileo = std [fname ]
263
+ else :
264
+ try :
265
+ fileo = file (fname , 'w' )
266
+ except IOError :
267
+ raise ValueError ('Verbose object could not open log file "%s" for writing.\n Check your matplotlibrc verbose.fileo setting' % fname )
268
+ else :
269
+ self .fileo = fileo
270
+
256
271
def report (self , s , level = 'helpful' ):
257
272
"""
258
273
print message s to self.fileo if self.level>=level. Return
@@ -292,7 +307,7 @@ def ge(self, level):
292
307
return self .vald [self .level ]>= self .vald [level ]
293
308
294
309
295
- verbose = Verbose ('silent' )
310
+ verbose = Verbose ()
296
311
297
312
def _get_home ():
298
313
"""Find user's home directory if possible.
@@ -618,25 +633,7 @@ def validate_fontsize(s):
618
633
except ValueError :
619
634
raise ValueError ('not a valid font size' )
620
635
621
-
622
- def validate_verbose (s ):
623
- verbose .set_level (s )
624
- return verbose
625
-
626
-
627
- def validate_verbose_fileo (s ):
628
- d = {'sys.stdout' :sys .stdout ,
629
- 'sys.stderr' :sys .stderr ,
630
- }
631
- if d .has_key (s ): verbose .fileo = d [s ]
632
- else :
633
- try : fileo = file (s , 'w' )
634
- except IOError :
635
- raise ValueError ('Verbose object could not open log file "%s" for writing.\n Check your matplotlibrc verbose.fileo setting' % s )
636
- else :
637
- verbose .fileo = fileo
638
- return verbose .fileo
639
-
636
+ validate_verbose = ValidateInStrings (Verbose .levels )
640
637
641
638
validate_ps_papersize = ValidateInStrings ([
642
639
'auto' , 'letter' , 'legal' , 'ledger' ,
@@ -771,7 +768,7 @@ def __call__(self, s):
771
768
772
769
# the verbosity setting
773
770
'verbose.level' : ['silent' , validate_verbose ],
774
- 'verbose.fileo' : ['sys.stdout' , validate_verbose_fileo ],
771
+ 'verbose.fileo' : ['sys.stdout' , str ],
775
772
776
773
# line props
777
774
'lines.linewidth' : [1.0 , validate_float ], # line width in points
@@ -1056,6 +1053,9 @@ def rc_params(fail_on_error=False):
1056
1053
if cval is not None :
1057
1054
ret [key ] = cval
1058
1055
1056
+ verbose .set_level (ret ['verbose.level' ])
1057
+ verbose .set_fileo (ret ['verbose.fileo' ])
1058
+
1059
1059
for key , (val , line , cnt ) in rc_temp .iteritems ():
1060
1060
cval = validate_key (key , val , line , cnt , fname , fail_on_error )
1061
1061
if cval is not None :
0 commit comments