@@ -91,56 +91,7 @@ def to_str(value):
91
91
Manipulates ordered dicts before they are hashed (Py2/3 compat.)
92
92
93
93
"""
94
- if sys .version_info [0 ] > 2 :
95
- retval = str (value )
96
- else :
97
- retval = to_str_py27 (value )
98
- return retval
99
-
100
-
101
- def to_str_py27 (value ):
102
- """
103
- Encode dictionary for python 2
104
- """
105
-
106
- if isinstance (value , dict ):
107
- entry = '{}: {}' .format
108
- retval = '{'
109
- for key , val in list (value .items ()):
110
- if len (retval ) > 1 :
111
- retval += ', '
112
- kenc = repr (key )
113
- if kenc .startswith (("u'" , 'u"' )):
114
- kenc = kenc [1 :]
115
- venc = to_str_py27 (val )
116
- if venc .startswith (("u'" , 'u"' )):
117
- venc = venc [1 :]
118
- retval += entry (kenc , venc )
119
- retval += '}'
120
- return retval
121
-
122
- istuple = isinstance (value , tuple )
123
- if isinstance (value , (tuple , list )):
124
- retval = '(' if istuple else '['
125
- nels = len (value )
126
- for i , v in enumerate (value ):
127
- venc = to_str_py27 (v )
128
- if venc .startswith (("u'" , 'u"' )):
129
- venc = venc [1 :]
130
- retval += venc
131
-
132
- if i < nels - 1 :
133
- retval += ', '
134
-
135
- if istuple and nels == 1 :
136
- retval += ','
137
- retval += ')' if istuple else ']'
138
- return retval
139
-
140
- retval = repr (value ).decode ()
141
- if retval .startswith (("u'" , 'u"' )):
142
- retval = retval [1 :]
143
- return retval
94
+ return str (value )
144
95
145
96
146
97
def fname_presuffix (fname , prefix = '' , suffix = '' , newpath = None , use_ext = True ):
@@ -593,8 +544,6 @@ def save_json(filename, data):
593
544
594
545
"""
595
546
mode = 'w'
596
- if sys .version_info [0 ] < 3 :
597
- mode = 'wb'
598
547
with open (filename , mode ) as fp :
599
548
json .dump (data , fp , sort_keys = True , indent = 4 )
600
549
@@ -841,27 +790,10 @@ def which(cmd, env=None, pathext=None):
841
790
if env and 'PATH' in env :
842
791
path = env .get ("PATH" )
843
792
844
- if sys .version_info >= (3 , 3 ):
845
- for ext in pathext :
846
- filename = shutil .which (cmd + ext , path = path )
847
- if filename :
848
- return filename
849
- return None
850
-
851
- def isexec (path ):
852
- return os .path .isfile (path ) and os .access (path , os .X_OK )
853
-
854
793
for ext in pathext :
855
- extcmd = cmd + ext
856
- fpath , fname = os .path .split (extcmd )
857
- if fpath :
858
- if isexec (extcmd ):
859
- return extcmd
860
- else :
861
- for directory in path .split (os .pathsep ):
862
- filename = op .join (directory , extcmd )
863
- if isexec (filename ):
864
- return filename
794
+ filename = shutil .which (cmd + ext , path = path )
795
+ if filename :
796
+ return filename
865
797
return None
866
798
867
799
0 commit comments