From 346bb611c72088f9439f81f0a078f961d0c65b6c Mon Sep 17 00:00:00 2001 From: WAKAYAMA shirou Date: Wed, 21 May 2014 23:43:19 +0900 Subject: [PATCH 1/2] fix UnicodeEncodeError when prompt is unicode. --- lib/ansible/callbacks.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ansible/callbacks.py b/lib/ansible/callbacks.py index cbfd315e36..cbd72b0591 100644 --- a/lib/ansible/callbacks.py +++ b/lib/ansible/callbacks.py @@ -651,9 +651,10 @@ class PlaybookCallbacks(object): msg = 'input for %s: ' % varname def prompt(prompt, private): + msg = prompt.encode(sys.stdout.encoding) if private: - return getpass.getpass(prompt) - return raw_input(prompt) + return getpass.getpass(msg) + return raw_input(msg) if confirm: From 56880b76bbf652930569059d3babea95bbe0ef8f Mon Sep 17 00:00:00 2001 From: WAKAYAMA shirou Date: Thu, 22 May 2014 00:21:14 +0900 Subject: [PATCH 2/2] fix UnicodeEncode error when using pause module with unicode prompt. --- lib/ansible/runner/action_plugins/pause.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/runner/action_plugins/pause.py b/lib/ansible/runner/action_plugins/pause.py index c6a06dcd7c..d0c9b53db2 100644 --- a/lib/ansible/runner/action_plugins/pause.py +++ b/lib/ansible/runner/action_plugins/pause.py @@ -101,7 +101,7 @@ class ActionModule(object): # Clear out any unflushed buffered input which would # otherwise be consumed by raw_input() prematurely. tcflush(sys.stdin, TCIFLUSH) - self.result['user_input'] = raw_input(self.prompt) + self.result['user_input'] = raw_input(self.prompt.encode(sys.stdout.encoding)) except KeyboardInterrupt: while True: print '\nAction? (a)bort/(c)ontinue: '