]> git.phdru.name Git - m_lib.git/blob - m_lib/defenc.py
Use "exception as value" for Py3 compatibility
[m_lib.git] / m_lib / defenc.py
1 #! /usr/bin/env python
2 """Get default encoding"""
3
4 from __future__ import print_function
5 import sys
6
7 try:
8    import locale
9    use_locale = True
10 except ImportError:
11    use_locale = False
12
13 __all__ = ['default_encoding']
14
15 if use_locale:
16    # Get the default charset.
17    try:
18       lcAll = locale.getdefaultlocale()
19    except locale.Error as err:
20       print("WARNING:", err, file=sys.stderr)
21       lcAll = []
22
23    if len(lcAll) == 2 and lcAll[0] is not None:
24       default_encoding = lcAll[1]
25    else:
26       try:
27          default_encoding = locale.getpreferredencoding()
28       except locale.Error as err:
29          print("WARNING:", err, file=sys.stderr)
30          default_encoding = sys.getdefaultencoding()
31 else:
32    default_encoding = sys.getdefaultencoding()
33
34 default_encoding = default_encoding.lower()
35
36 if __name__ == "__main__":
37    print(default_encoding)