mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 05:12:45 +00:00
Fix the lines lookup to work on python3 (#17291)
Since stdout is (on python3) of type 'bytes', callbacks plugins fail in the test suite, because calls backs expect a string.
This commit is contained in:
committed by
Toshio Kuratomi
parent
4ba90a3817
commit
9245c786db
@@ -21,6 +21,7 @@ __metaclass__ = type
|
||||
import subprocess
|
||||
from ansible.errors import AnsibleError
|
||||
from ansible.plugins.lookup import LookupBase
|
||||
from ansible.module_utils._text import to_text
|
||||
|
||||
class LookupModule(LookupBase):
|
||||
|
||||
@@ -31,7 +32,7 @@ class LookupModule(LookupBase):
|
||||
p = subprocess.Popen(term, cwd=self._loader.get_basedir(), shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
|
||||
(stdout, stderr) = p.communicate()
|
||||
if p.returncode == 0:
|
||||
ret.extend(stdout.splitlines())
|
||||
ret.extend([to_text(l) for l in stdout.splitlines()])
|
||||
else:
|
||||
raise AnsibleError("lookup_plugin.lines(%s) returned %d" % (term, p.returncode))
|
||||
return ret
|
||||
|
||||
Reference in New Issue
Block a user