[config] adds a __doc__ constructor kwarg to set option documentation inline.

This commit is contained in:
Romain Dorgueil
2017-10-12 19:02:11 +02:00
parent 99351a638b
commit 721ed499bb
2 changed files with 9 additions and 3 deletions

View File

@ -53,13 +53,15 @@ class Option:
_creation_counter = 0 _creation_counter = 0
def __init__(self, type=None, *, required=True, positional=False, default=None): def __init__(self, type=None, *, required=True, positional=False, default=None, __doc__=None):
self.name = None self.name = None
self.type = type self.type = type
self.required = required if default is None else False self.required = required if default is None else False
self.positional = positional self.positional = positional
self.default = default self.default = default
self.__doc__ = __doc__ or self.__doc__
# This hack is necessary for python3.5 # This hack is necessary for python3.5
self._creation_counter = Option._creation_counter self._creation_counter = Option._creation_counter
Option._creation_counter += 1 Option._creation_counter += 1

View File

@ -77,9 +77,13 @@ def _shorten(s, w):
class PrettyPrinter(Configurable): class PrettyPrinter(Configurable):
max_width = Option(int, required=False, __doc__=''' max_width = Option(
int,
required=False,
__doc__='''
If set, truncates the output values longer than this to this width. If set, truncates the output values longer than this to this width.
''') '''
)
def call(self, *args, **kwargs): def call(self, *args, **kwargs):
formater = self._format_quiet if settings.QUIET.get() else self._format_console formater = self._format_quiet if settings.QUIET.get() else self._format_console