fix: encode str input when text=True is intercepted by header wrapper
This commit is contained in:
@@ -7,7 +7,10 @@ def _d(b):
|
|||||||
try: return b.decode()
|
try: return b.decode()
|
||||||
except: return b.decode('gbk', 'replace')
|
except: return b.decode('gbk', 'replace')
|
||||||
def _run(*a, **k):
|
def _run(*a, **k):
|
||||||
t = k.pop('text', 0) | k.pop('universal_newlines', 0); r = _r(*a, **k)
|
t = k.pop('text', 0) | k.pop('universal_newlines', 0)
|
||||||
|
if t and isinstance(k.get('input'), str):
|
||||||
|
k['input'] = k['input'].encode()
|
||||||
|
r = _r(*a, **k)
|
||||||
if t:
|
if t:
|
||||||
if r.stdout is not None: r.stdout = _d(r.stdout)
|
if r.stdout is not None: r.stdout = _d(r.stdout)
|
||||||
if r.stderr is not None: r.stderr = _d(r.stderr)
|
if r.stderr is not None: r.stderr = _d(r.stderr)
|
||||||
|
|||||||
Reference in New Issue
Block a user