Staging
v0.5.1
https://github.com/python/cpython
Revision f66c81ff499fb431e56bc68f5e39c2f7b9fcb6a7 authored by Mariatta on 12 February 2017, 21:08:24 UTC, committed by GitHub on 12 February 2017, 21:08:24 UTC
* bpo-28929: Link the documentation to its source file on GitHub

Change the documentation's `Show Source` link on the left menu
to GitHub source file.

(cherry picked from commit 23bafa294c75c20cb85ae5d97d7571a3a0ad8dd3)

* remove if statement
1 parent 308f789
Raw File
Tip revision: f66c81ff499fb431e56bc68f5e39c2f7b9fcb6a7 authored by Mariatta on 12 February 2017, 21:08:24 UTC
[backport to 3.6] bpo-28929: Link the documentation to its source file on GitHub (#37)
Tip revision: f66c81f
_bootlocale.py
"""A minimal subset of the locale module used at interpreter startup
(imported by the _io module), in order to reduce startup time.

Don't import directly from third-party code; use the `locale` module instead!
"""

import sys
import _locale

if sys.platform.startswith("win"):
    def getpreferredencoding(do_setlocale=True):
        return _locale._getdefaultlocale()[1]
else:
    try:
        _locale.CODESET
    except AttributeError:
        def getpreferredencoding(do_setlocale=True):
            # This path for legacy systems needs the more complex
            # getdefaultlocale() function, import the full locale module.
            import locale
            return locale.getpreferredencoding(do_setlocale)
    else:
        def getpreferredencoding(do_setlocale=True):
            assert not do_setlocale
            result = _locale.nl_langinfo(_locale.CODESET)
            if not result and sys.platform == 'darwin':
                # nl_langinfo can return an empty string
                # when the setting has an invalid value.
                # Default to UTF-8 in that case because
                # UTF-8 is the default charset on OSX and
                # returning nothing will crash the
                # interpreter.
                result = 'UTF-8'
            return result
back to top