Respect the provided encoding

UTF-8 is great but if we're claiming the encoding is something else everywhere
else we can't just make it UTF-8 here.
This commit is contained in:
Jean-Paul Calderone 2020-12-07 09:12:38 -05:00
parent 56f141e170
commit f4432d3f23
2 changed files with 4 additions and 4 deletions

View File

@ -101,11 +101,11 @@ def run_cli_unicode(verb, argv, nodeargs=None, stdin=None, encoding=None):
argv=argv,
)
d = run_cli_bytes(
verb.encode("utf-8"),
nodeargs=list(arg.encode("utf-8") for arg in nodeargs),
verb.encode(encoding),
nodeargs=list(arg.encode(encoding) for arg in nodeargs),
stdin=stdin,
encoding=encoding,
*list(arg.encode("utf-8") for arg in argv)
*list(arg.encode(encoding) for arg in argv)
)
def maybe_decode(result):
code, stdout, stderr = result

View File

@ -259,7 +259,7 @@ def quote_output_u(*args, **kwargs):
result = quote_output(*args, **kwargs)
if isinstance(result, unicode):
return result
return result.decode("utf-8")
return result.decode(kwargs.get("encoding", None) or io_encoding)
def quote_output(s, quotemarks=True, quote_newlines=None, encoding=None):