3131from .utils import to_bytes
3232
3333
34- def assert_string (v , desc ):
35- if not isinstance (v , str ):
36- raise TypeError ("%s must be a string" % desc )
34+ def str_to_bytes (value , name ):
35+ if not isinstance (value , str ):
36+ raise TypeError (f'{ name } must be a string' )
37+
38+ return to_bytes (value )
3739
3840
3941class ConfigIterator :
@@ -78,8 +80,8 @@ def __init__(self, path=None):
7880 if not path :
7981 err = C .git_config_new (cconfig )
8082 else :
81- assert_string (path , "path" )
82- err = C .git_config_open_ondisk (cconfig , to_bytes ( path ) )
83+ path = str_to_bytes (path , "path" )
84+ err = C .git_config_open_ondisk (cconfig , path )
8385
8486 check_error (err , io = True )
8587 self ._config = cconfig [0 ]
@@ -99,10 +101,10 @@ def __del__(self):
99101 pass
100102
101103 def _get (self , key ):
102- assert_string (key , "key" )
104+ key = str_to_bytes (key , "key" )
103105
104106 entry = ffi .new ('git_config_entry **' )
105- err = C .git_config_get_entry (entry , self ._config , to_bytes ( key ) )
107+ err = C .git_config_get_entry (entry , self ._config , key )
106108
107109 return err , ConfigEntry ._from_c (entry [0 ])
108110
@@ -136,23 +138,22 @@ def __getitem__(self, key):
136138 return entry .value
137139
138140 def __setitem__ (self , key , value ):
139- assert_string (key , "key" )
141+ key = str_to_bytes (key , "key" )
140142
141143 err = 0
142144 if isinstance (value , bool ):
143- err = C .git_config_set_bool (self ._config , to_bytes ( key ) , value )
145+ err = C .git_config_set_bool (self ._config , key , value )
144146 elif isinstance (value , int ):
145- err = C .git_config_set_int64 (self ._config , to_bytes ( key ) , value )
147+ err = C .git_config_set_int64 (self ._config , key , value )
146148 else :
147- err = C .git_config_set_string (self ._config , to_bytes (key ),
148- to_bytes (value ))
149+ err = C .git_config_set_string (self ._config , key , to_bytes (value ))
149150
150151 check_error (err )
151152
152153 def __delitem__ (self , key ):
153- assert_string (key , "key" )
154+ key = str_to_bytes (key , "key" )
154155
155- err = C .git_config_delete_entry (self ._config , to_bytes ( key ) )
156+ err = C .git_config_delete_entry (self ._config , key )
156157 check_error (err )
157158
158159 def __iter__ (self ):
@@ -174,11 +175,10 @@ def get_multivar(self, name, regex=None):
174175 The optional ''regex'' parameter is expected to be a regular expression
175176 to filter the variables we're interested in.
176177 """
177- assert_string (name , "name" )
178+ name = str_to_bytes (name , "name" )
178179
179180 citer = ffi .new ('git_config_iterator **' )
180- err = C .git_config_multivar_iterator_new (citer , self ._config ,
181- to_bytes (name ),
181+ err = C .git_config_multivar_iterator_new (citer , self ._config , name ,
182182 to_bytes (regex ))
183183 check_error (err )
184184
@@ -188,23 +188,21 @@ def set_multivar(self, name, regex, value):
188188 """Set a multivar ''name'' to ''value''. ''regexp'' is a regular
189189 expression to indicate which values to replace.
190190 """
191- assert_string (name , "name" )
192- assert_string (regex , "regex" )
193- assert_string (value , "value" )
191+ name = str_to_bytes (name , "name" )
192+ regex = str_to_bytes (regex , "regex" )
193+ value = str_to_bytes (value , "value" )
194194
195- err = C .git_config_set_multivar (self ._config , to_bytes (name ),
196- to_bytes (regex ), to_bytes (value ))
195+ err = C .git_config_set_multivar (self ._config , name , regex , value )
197196 check_error (err )
198197
199198 def delete_multivar (self , name , regex ):
200199 """Delete a multivar ''name''. ''regexp'' is a regular expression to
201200 indicate which values to delete.
202201 """
203- assert_string (name , "name" )
204- assert_string (regex , "regex" )
202+ name = str_to_bytes (name , "name" )
203+ regex = str_to_bytes (regex , "regex" )
205204
206- err = C .git_config_delete_multivar (self ._config , to_bytes (name ),
207- to_bytes (regex ))
205+ err = C .git_config_delete_multivar (self ._config , name , regex )
208206 check_error (err )
209207
210208 def get_bool (self , key ):
0 commit comments