9797to MATLAB®, a registered trademark of The MathWorks, Inc.
9898
9999"""
100- from __future__ import print_function , absolute_import
100+ from __future__ import absolute_import , division , print_function , unicode_literals
101101
102+ import six
102103import sys
103104import distutils .version
104105
@@ -166,17 +167,6 @@ def _forward_ilshift(self, other):
166167
167168import sys , os , tempfile
168169
169- if sys .version_info [0 ] >= 3 :
170- def ascii (s ): return bytes (s , 'ascii' )
171-
172- def byte2str (b ): return b .decode ('ascii' )
173-
174- else :
175- ascii = str
176-
177- def byte2str (b ): return b
178-
179-
180170from matplotlib .rcsetup import (defaultParams ,
181171 validate_backend ,
182172 validate_toolbar )
@@ -224,7 +214,7 @@ def _is_writable_dir(p):
224214 try :
225215 t = tempfile .TemporaryFile (dir = p )
226216 try :
227- t .write (ascii ( '1' ) )
217+ t .write (b '1' )
228218 finally :
229219 t .close ()
230220 except OSError :
@@ -304,7 +294,7 @@ def wrap(self, fmt, func, level='helpful', always=True):
304294 if always is True, the report will occur on every function
305295 call; otherwise only on the first time the function is called
306296 """
307- assert callable (func )
297+ assert six . callable (func )
308298 def wrapper (* args , ** kwargs ):
309299 ret = func (* args , ** kwargs )
310300
@@ -330,7 +320,7 @@ def checkdep_dvipng():
330320 s = subprocess .Popen (['dvipng' ,'-version' ], stdout = subprocess .PIPE ,
331321 stderr = subprocess .PIPE )
332322 line = s .stdout .readlines ()[1 ]
333- v = byte2str ( line .split ()[- 1 ])
323+ v = line .split ()[- 1 ]. decode ( 'ascii' )
334324 return v
335325 except (IndexError , ValueError , OSError ):
336326 return None
@@ -347,7 +337,7 @@ def checkdep_ghostscript():
347337 stderr = subprocess .PIPE )
348338 stdout , stderr = s .communicate ()
349339 if s .returncode == 0 :
350- v = byte2str ( stdout [:- 1 ])
340+ v = stdout [:- 1 ]
351341 return gs_exec , v
352342
353343 return None , None
@@ -358,7 +348,7 @@ def checkdep_tex():
358348 try :
359349 s = subprocess .Popen (['tex' ,'-version' ], stdout = subprocess .PIPE ,
360350 stderr = subprocess .PIPE )
361- line = byte2str ( s .stdout .readlines ()[0 ])
351+ line = s .stdout .readlines ()[0 ]. decode ( 'ascii' )
362352 pattern = '3\.1\d+'
363353 match = re .search (pattern , line )
364354 v = match .group (0 )
@@ -372,7 +362,7 @@ def checkdep_pdftops():
372362 stderr = subprocess .PIPE )
373363 for line in s .stderr :
374364 if b'version' in line :
375- v = byte2str ( line .split ()[- 1 ])
365+ v = line .split ()[- 1 ]. decode ( 'ascii' )
376366 return v
377367 except (IndexError , ValueError , UnboundLocalError , OSError ):
378368 return None
@@ -383,7 +373,7 @@ def checkdep_inkscape():
383373 stderr = subprocess .PIPE )
384374 for line in s .stdout :
385375 if b'Inkscape' in line :
386- v = byte2str ( line .split ()[1 ])
376+ v = line .split ()[1 ]. decode ( 'ascii' )
387377 break
388378 return v
389379 except (IndexError , ValueError , UnboundLocalError , OSError ):
@@ -395,7 +385,7 @@ def checkdep_xmllint():
395385 stderr = subprocess .PIPE )
396386 for line in s .stderr :
397387 if b'version' in line :
398- v = byte2str ( line .split ()[- 1 ])
388+ v = line .split ()[- 1 ]. decode ( 'ascii' )
399389 break
400390 return v
401391 except (IndexError , ValueError , UnboundLocalError , OSError ):
@@ -771,7 +761,7 @@ class RcParams(dict):
771761 """
772762
773763 validate = dict ((key , converter ) for key , (default , converter ) in
774- defaultParams .iteritems ())
764+ six .iteritems (defaultParams ))
775765 msg_depr = "%s is deprecated and replaced with %s; please use the latter."
776766 msg_depr_ignore = "%s is deprecated and ignored. Use %s"
777767
@@ -856,7 +846,7 @@ def rc_params(fail_on_error=False):
856846 # this should never happen, default in mpl-data should always be found
857847 message = 'could not find rc file; returning defaults'
858848 ret = RcParams ([(key , default ) for key , (default , _ ) in \
859- defaultParams .iteritems () ])
849+ six .iteritems (defaultParams ) ])
860850 warnings .warn (message )
861851 return ret
862852
@@ -888,7 +878,7 @@ def rc_params_from_file(fname, fail_on_error=False):
888878 rc_temp [key ] = (val , line , cnt )
889879
890880 ret = RcParams ([(key , default ) for key , (default , _ ) in \
891- defaultParams .iteritems ()])
881+ six .iteritems (defaultParams )])
892882
893883 for key in ('verbose.level' , 'verbose.fileo' ):
894884 if key in rc_temp :
@@ -904,7 +894,7 @@ def rc_params_from_file(fname, fail_on_error=False):
904894 verbose .set_level (ret ['verbose.level' ])
905895 verbose .set_fileo (ret ['verbose.fileo' ])
906896
907- for key , (val , line , cnt ) in rc_temp .iteritems ():
897+ for key , (val , line , cnt ) in six .iteritems (rc_temp ):
908898 if key in defaultParams :
909899 if fail_on_error :
910900 ret [key ] = val # try to convert to proper type or raise
@@ -960,8 +950,8 @@ def rc_params_from_file(fname, fail_on_error=False):
960950
961951rcParamsOrig = rcParams .copy ()
962952
963- rcParamsDefault = RcParams ([ (key , default ) for key , (default , converter ) in \
964- defaultParams .iteritems () ])
953+ rcParamsDefault = RcParams ([(key , default ) for key , (default , converter ) in \
954+ six .iteritems (defaultParams ) ])
965955
966956rcParams ['ps.usedistiller' ] = checkdep_ps_distiller (rcParams ['ps.usedistiller' ])
967957rcParams ['text.usetex' ] = checkdep_usetex (rcParams ['text.usetex' ])
@@ -1033,7 +1023,7 @@ def rc(group, **kwargs):
10331023 if is_string_like (group ):
10341024 group = (group ,)
10351025 for g in group :
1036- for k ,v in kwargs .iteritems ():
1026+ for k , v in six .iteritems (kwargs ):
10371027 name = aliases .get (k ) or k
10381028 key = '%s.%s' % (g , name )
10391029 try :
@@ -1289,4 +1279,4 @@ def test(verbosity=1):
12891279verbose .report ('verbose.level %s' % verbose .level )
12901280verbose .report ('interactive is %s' % rcParams ['interactive' ])
12911281verbose .report ('platform is %s' % sys .platform )
1292- verbose .report ('loaded modules: %s' % sys . modules . iterkeys (), 'debug' )
1282+ verbose .report ('loaded modules: %s' % six . iterkeys (sys . modules ), 'debug' )
0 commit comments