90 lines
3.9 KiB
Python
90 lines
3.9 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf8 -*-
|
|
|
|
"""
|
|
This module contains the global configuration for agate. Users should use
|
|
:meth:`get_option` and :meth:`set_option` to modify the global
|
|
configuration.
|
|
|
|
**Available configuation options:**
|
|
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| Option | Description | Default value |
|
|
+=========================+==========================================+=========================================+
|
|
| default_locale | Default locale for number formatting | default_locale('LC_NUMERIC') or 'en_US' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| horizontal_line_char | Character to render for horizontal lines | u'-' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| vertical_line_char | Character to render for vertical lines | u'|' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| bar_char | Character to render for bar chart units | u'░' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| printable_bar_char | Printable character for bar chart units | u':' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| zero_line_char | Character to render for zero line units | u'▓' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| printable_zero_line_char| Printable character for zero line units | u'|' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| tick_char | Character to render for axis ticks | u'+' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
| ellipsis_chars | Characters to render for ellipsis | u'...' |
|
|
+-------------------------+------------------------------------------+-----------------------------------------+
|
|
|
|
"""
|
|
|
|
from babel.core import default_locale
|
|
|
|
|
|
_options = {
|
|
#: Default locale for number formatting
|
|
'default_locale': default_locale('LC_NUMERIC') or 'en_US',
|
|
#: Character to render for horizontal lines
|
|
'horizontal_line_char': u'-',
|
|
#: Character to render for vertical lines
|
|
'vertical_line_char': u'|',
|
|
#: Character to render for bar chart units
|
|
'bar_char': u'░',
|
|
#: Printable character to render for bar chart units
|
|
'printable_bar_char': u':',
|
|
#: Character to render for zero line units
|
|
'zero_line_char': u'▓',
|
|
#: Printable character to render for zero line units
|
|
'printable_zero_line_char': u'|',
|
|
#: Character to render for axis ticks
|
|
'tick_char': u'+',
|
|
#: Characters to render for ellipsis
|
|
'ellipsis_chars': u'...',
|
|
}
|
|
|
|
|
|
def get_option(key):
|
|
"""
|
|
Get a global configuration option for agate.
|
|
|
|
:param key:
|
|
The name of the configuration option.
|
|
"""
|
|
return _options[key]
|
|
|
|
|
|
def set_option(key, value):
|
|
"""
|
|
Set a global configuration option for agate.
|
|
|
|
:param key:
|
|
The name of the configuration option.
|
|
:param value:
|
|
The new value to set for the configuration option.
|
|
"""
|
|
_options[key] = value
|
|
|
|
|
|
def set_options(options):
|
|
"""
|
|
Set a dictionary of options simultaneously.
|
|
|
|
:param hash:
|
|
A dictionary of option names and values.
|
|
"""
|
|
_options.update(options)
|