54 lines
2.0 KiB
Python
54 lines
2.0 KiB
Python
# -*- coding: utf-8 -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
|
|
"""Accès aux paramètres configurables de ulib/utools dans l'environnement.
|
|
"""
|
|
|
|
__all__ = ('get_default_encoding', 'get_input_encoding', 'get_output_encoding',
|
|
'get_editor', 'get_editor_options', 'get_editor_setrow', 'get_editor_encoding',
|
|
'get_pager',
|
|
)
|
|
|
|
from os import environ
|
|
|
|
from .encoding import get_encoding_or_default, UTF8
|
|
|
|
try: from nulib_config import DEFAULT_INPUT_ENCODING
|
|
except ImportError: DEFAULT_INPUT_ENCODING = UTF8
|
|
try: from nulib_config import DEFAULT_OUTPUT_ENCODING
|
|
except ImportError: DEFAULT_OUTPUT_ENCODING = UTF8
|
|
|
|
def get_default_encoding(encoding=None, default_encoding=DEFAULT_OUTPUT_ENCODING):
|
|
"""Si encoding est None, essayer de déterminer l'encoding par défaut avec
|
|
getlocale(), getdefaultlocale() puis DEFAULT_ENCODING.
|
|
"""
|
|
return get_encoding_or_default(encoding, default_encoding)
|
|
|
|
def get_input_encoding():
|
|
encoding = environ.get('UTOOLS_INPUT_ENCODING', None)
|
|
if encoding is None:
|
|
encoding = environ.get('UTOOLS_OUTPUT_ENCODING', None)
|
|
return get_default_encoding(encoding, DEFAULT_INPUT_ENCODING)
|
|
|
|
def get_output_encoding():
|
|
encoding = environ.get('UTOOLS_OUTPUT_ENCODING', None)
|
|
return get_default_encoding(encoding, DEFAULT_OUTPUT_ENCODING)
|
|
|
|
def get_editor():
|
|
return environ.get('UTOOLS_EDITOR', environ.get('EDITOR', None))
|
|
def get_editor_options():
|
|
return environ.get('UTOOLS_EDITOR_OPTIONS', None)
|
|
def get_editor_setrow():
|
|
return environ.get('UTOOLS_EDITOR_SETROW', None)
|
|
def get_editor_encoding():
|
|
encoding = environ.get('UTOOLS_EDITOR_ENCODING', None)
|
|
if encoding is None:
|
|
encoding = environ.get('UTOOLS_INPUT_ENCODING', None)
|
|
if encoding is None:
|
|
encoding = environ.get('UTOOLS_OUTPUT_ENCODING', None)
|
|
return get_default_encoding(encoding, DEFAULT_INPUT_ENCODING)
|
|
|
|
def get_pager():
|
|
return environ.get('UTOOLS_PAGER', environ.get('PAGER', None))
|
|
def get_pager_options():
|
|
return environ.get('UTOOLS_PAGER_OPTIONS', None)
|