diff options
author | R David Murray <rdmurray@bitdance.com> | 2014-04-14 14:28:58 (GMT) |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2014-04-14 14:28:58 (GMT) |
commit | 604453c9cea5dfcc5c6373028d0c30a4bd4f94f2 (patch) | |
tree | 2b9f009ad242d9e2df952be6814bafd1f87343b5 | |
parent | 04d8a245f162b33e6c861ba0869918d9262be63e (diff) | |
download | cpython-604453c9cea5dfcc5c6373028d0c30a4bd4f94f2.zip cpython-604453c9cea5dfcc5c6373028d0c30a4bd4f94f2.tar.gz cpython-604453c9cea5dfcc5c6373028d0c30a4bd4f94f2.tar.bz2 |
#21169: add comment and doc update for getpass change.
-rw-r--r-- | Doc/library/getpass.rst | 9 | ||||
-rw-r--r-- | Lib/getpass.py | 1 |
2 files changed, 6 insertions, 4 deletions
diff --git a/Doc/library/getpass.rst b/Doc/library/getpass.rst index ffe2b12..211563e 100644 --- a/Doc/library/getpass.rst +++ b/Doc/library/getpass.rst @@ -13,10 +13,11 @@ The :mod:`getpass` module provides two functions: .. function:: getpass(prompt='Password: ', stream=None) Prompt the user for a password without echoing. The user is prompted using - the string *prompt*, which defaults to ``'Password: '``. On Unix, the prompt - is written to the file-like object *stream*. *stream* defaults to the - controlling terminal (:file:`/dev/tty`) or if that is unavailable to - ``sys.stderr`` (this argument is ignored on Windows). + the string *prompt*, which defaults to ``'Password: '``. On Unix, the + prompt is written to the file-like object *stream* using the replace error + handler if needed. *stream* defaults to the controlling terminal + (:file:`/dev/tty`) or if that is unavailable to ``sys.stderr`` (this + argument is ignored on Windows). If echo free input is unavailable getpass() falls back to printing a warning message to *stream* and reading from ``sys.stdin`` and diff --git a/Lib/getpass.py b/Lib/getpass.py index 2740363..7c4e976 100644 --- a/Lib/getpass.py +++ b/Lib/getpass.py @@ -138,6 +138,7 @@ def _raw_input(prompt="", stream=None, input=None): try: stream.write(prompt) except UnicodeEncodeError: + # Use replace error handler to get as much as possible printed. prompt = prompt.encode(stream.encoding, 'replace') prompt = prompt.decode(stream.encoding) stream.write(prompt) |