From 15fb9d3bc0284c3e6d928242789cfad7d9ab3046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arne=20J=C3=B8rgensen?= Date: Wed, 19 Dec 2018 17:58:06 +0100 Subject: [PATCH] Fix lastpass lookup error Fixes #42062. --- lib/ansible/plugins/lookup/lastpass.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ansible/plugins/lookup/lastpass.py b/lib/ansible/plugins/lookup/lastpass.py index 1faf9df5a91..02df58e3b5b 100644 --- a/lib/ansible/plugins/lookup/lastpass.py +++ b/lib/ansible/plugins/lookup/lastpass.py @@ -38,6 +38,7 @@ RETURN = """ from subprocess import Popen, PIPE from ansible.errors import AnsibleError +from ansible.module_utils._text import to_bytes, to_text from ansible.plugins.lookup import LookupBase @@ -61,11 +62,11 @@ class LPass(object): def _run(self, args, stdin=None, expected_rc=0): p = Popen([self.cli_path] + args, stdout=PIPE, stderr=PIPE, stdin=PIPE) - out, err = p.communicate(stdin) + out, err = p.communicate(to_bytes(stdin)) rc = p.wait() if rc != expected_rc: raise LPassException(err) - return out, err + return to_text(out, errors='surrogate_or_strict'), to_text(err, errors='surrogate_or_strict') def _build_args(self, command, args=None): if args is None: