expect string keys in fixEncodingRecurse
This commit is contained in:
parent
ee51a835dd
commit
4372ecd89b
2 changed files with 6 additions and 3 deletions
|
|
@ -10260,7 +10260,8 @@ class RootExports(object):
|
|||
raise koji.GenericError('either rpmID or taskID and filepath must be specified')
|
||||
|
||||
headers = koji.get_header_fields(rpm_path, headers)
|
||||
return koji.fixEncodingRecurse(headers, remove_nonprintable=True)
|
||||
return koji.fixEncodingRecurse(headers, remove_nonprintable=True,
|
||||
ignore_keys=True)
|
||||
|
||||
queryRPMSigs = staticmethod(query_rpm_sigs)
|
||||
|
||||
|
|
|
|||
|
|
@ -3110,7 +3110,7 @@ def fixEncoding(value, fallback='iso8859-15', remove_nonprintable=False):
|
|||
return s
|
||||
|
||||
|
||||
def fixEncodingRecurse(value, fallback='iso8859-15', remove_nonprintable=False):
|
||||
def fixEncodingRecurse(value, fallback='iso8859-15', remove_nonprintable=False, ignore_keys=False):
|
||||
"""Recursively fix string encoding in an object
|
||||
|
||||
Similar behavior to fixEncoding, but recursive
|
||||
|
|
@ -3123,7 +3123,9 @@ def fixEncodingRecurse(value, fallback='iso8859-15', remove_nonprintable=False):
|
|||
ret = {}
|
||||
for k in value:
|
||||
v = fixEncodingRecurse(value[k], fallback=fallback, remove_nonprintable=remove_nonprintable)
|
||||
k = fixEncodingRecurse(k, fallback=fallback, remove_nonprintable=remove_nonprintable)
|
||||
# expect, that keys are never really binary
|
||||
if not ignore_keys:
|
||||
k = fixEncodingRecurse(k, fallback=fallback, remove_nonprintable=remove_nonprintable)
|
||||
ret[k] = v
|
||||
return ret
|
||||
elif isinstance(value, six.text_type):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue