File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -269,6 +269,7 @@ def assign_fields(meta, assignments):
269269 If just a key name is given (no '='), the field is removed.
270270 """
271271 for assignment in assignments :
272+ assignment = fmt .to_unicode (assignment )
272273 try :
273274 if '=' in assignment :
274275 field , val = assignment .split ('=' , 1 )
@@ -283,14 +284,16 @@ def assign_fields(meta, assignments):
283284 keypath = [i .replace ('\0 ' , '.' ) for i in field .replace ('..' , '\0 ' ).split ('.' )]
284285 for key in keypath [:- 1 ]:
285286 # Create missing dicts as we go...
286- namespace = namespace .setdefault (key , {})
287+ namespace = namespace .setdefault (fmt . to_utf8 ( key ) , {})
287288 except (KeyError , IndexError , TypeError , ValueError ) as exc :
289+ if self .options .debug :
290+ raise
288291 raise error .UserError ("Bad assignment %r (%s)!" % (assignment , exc ))
289292 else :
290293 if val is None :
291- del namespace [keypath [- 1 ]]
294+ del namespace [fmt . to_utf8 ( keypath [- 1 ]) ]
292295 else :
293- namespace [keypath [- 1 ]] = val
296+ namespace [fmt . to_utf8 ( keypath [- 1 ]) ] = fmt . to_utf8 ( val )
294297
295298 return meta
296299
You can’t perform that action at this time.
0 commit comments