mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Fix ansible-pull on python3
On python3, we can't write bytes directly to sys.stdout.
This commit is contained in:
parent
fd14048d46
commit
60acfd1e87
2 changed files with 11 additions and 6 deletions
|
@ -24,7 +24,7 @@ import shlex
|
|||
import subprocess
|
||||
import select
|
||||
|
||||
from ansible.compat.six import PY2
|
||||
from ansible.compat.six import PY2, PY3
|
||||
from ansible.module_utils._text import to_bytes
|
||||
|
||||
def run_cmd(cmd, live=False, readsize=10):
|
||||
|
@ -51,7 +51,11 @@ def run_cmd(cmd, live=False, readsize=10):
|
|||
if p.stdout in rfd:
|
||||
dat = os.read(p.stdout.fileno(), readsize)
|
||||
if live:
|
||||
sys.stdout.write(dat)
|
||||
# On python3, stdout has a codec to go from text type to bytes
|
||||
if PY3:
|
||||
sys.stdout.buffer.write(dat)
|
||||
else:
|
||||
sys.stdout.write(dat)
|
||||
stdout += dat
|
||||
if dat == b'':
|
||||
rpipes.remove(p.stdout)
|
||||
|
@ -59,7 +63,11 @@ def run_cmd(cmd, live=False, readsize=10):
|
|||
dat = os.read(p.stderr.fileno(), readsize)
|
||||
stderr += dat
|
||||
if live:
|
||||
sys.stdout.write(dat)
|
||||
# On python3, stdout has a codec to go from text type to bytes
|
||||
if PY3:
|
||||
sys.stdout.buffer.write(dat)
|
||||
else:
|
||||
sys.stdout.write(dat)
|
||||
if dat == b'':
|
||||
rpipes.remove(p.stderr)
|
||||
# only break out if we've emptied the pipes, or there is nothing to
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
s/ pull_run / /
|
||||
s/ pull_no_127 / /
|
||||
s/ pull_limit_inventory / /
|
Loading…
Reference in a new issue