|
@@ -73,6 +73,7 @@ class BuildManPage(Command):
|
|
|
try:
|
|
|
mod = __import__(mod_name, fromlist=fromlist)
|
|
|
self._parser = getattr(mod, func_name)(formatter_class=ManPageFormatter)
|
|
|
+
|
|
|
except ImportError as err:
|
|
|
raise err
|
|
|
|
|
@@ -87,18 +88,18 @@ class BuildManPage(Command):
|
|
|
appname = self.distribution.get_name()
|
|
|
ret = []
|
|
|
|
|
|
- ret.append(self._parser.formatter_class._mk_title(self._parser._get_formatter(),
|
|
|
- appname))
|
|
|
+ formater = self._parser._get_formatter()
|
|
|
+ ret.append(self._parser.formatter_class._mk_title(formater, appname))
|
|
|
description = self.distribution.get_description()
|
|
|
|
|
|
- ret.append(self._parser.formatter_class._make_name(self._parser._get_formatter(),
|
|
|
- self._parser))
|
|
|
+ ret.append(self._parser.formatter_class._make_name(formater,
|
|
|
+ self._parser))
|
|
|
self._parser._prog = appname
|
|
|
- ret.append(self._parser.formatter_class._mk_synopsis(self._parser._get_formatter(),
|
|
|
+ ret.append(self._parser.formatter_class._mk_synopsis(formater,
|
|
|
self._parser))
|
|
|
+ formater.long_desc = self.distribution.get_description()
|
|
|
+ ret.append(self._parser.formatter_class._mk_description(formater))
|
|
|
|
|
|
- ret.append(self._parser.formatter_class._mk_description(self._parser._get_formatter(),
|
|
|
- self.distribution))
|
|
|
return ''.join(ret)
|
|
|
|
|
|
def _write_options(self):
|
|
@@ -113,7 +114,7 @@ class BuildManPage(Command):
|
|
|
appname = self.distribution.get_name()
|
|
|
homepage = self.distribution.get_url()
|
|
|
sections = {'authors': ("pwman3 was originally written by Ivan Kelly "
|
|
|
- "<ivan@ivankelly.net>. pwman3 is now maintained "
|
|
|
+ "<ivan@ivankelly.net>.\n pwman3 is now maintained "
|
|
|
"by Oz Nahum <nahumoz@gmail.com>."),
|
|
|
'distribution': ("The latest version of {} may be "
|
|
|
"downloaded from {}".format(appname,
|
|
@@ -156,8 +157,8 @@ class ManPageFormatter(argparse.HelpFormatter):
|
|
|
max_help_position=24,
|
|
|
width=None,
|
|
|
section=1,
|
|
|
- desc = None,
|
|
|
- long_desc = None,
|
|
|
+ desc=None,
|
|
|
+ long_desc=None,
|
|
|
authors=None,
|
|
|
distribution=None):
|
|
|
|
|
@@ -167,6 +168,9 @@ class ManPageFormatter(argparse.HelpFormatter):
|
|
|
self._section = 1
|
|
|
self._today = datetime.date.today().strftime('%Y\\-%m\\-%d')
|
|
|
|
|
|
+ def _get_formatter(self, **kwargs):
|
|
|
+ return self.formatter_class(prog=self.prog, **kwargs)
|
|
|
+
|
|
|
def _markup(self, txt):
|
|
|
return txt.replace('-', '\\-')
|
|
|
|
|
@@ -192,7 +196,6 @@ class ManPageFormatter(argparse.HelpFormatter):
|
|
|
return usage
|
|
|
|
|
|
def _mk_title(self, prog):
|
|
|
-
|
|
|
return '.TH {0} {1} {2}\n'.format(prog, self._section,
|
|
|
self._today)
|
|
|
|
|
@@ -203,19 +206,10 @@ class ManPageFormatter(argparse.HelpFormatter):
|
|
|
"""
|
|
|
return '.SH NAME\n%s \\- %s\n' % (parser.prog,
|
|
|
parser.description)
|
|
|
- def _mk_name(self, distribution):
|
|
|
- """
|
|
|
- obsolete, replaced by _make_name
|
|
|
- """
|
|
|
- return '.SH NAME\n%s \\- %s\n' % (distribution.get_name(),
|
|
|
- distribution.get_description())
|
|
|
-
|
|
|
- def _mk_description(self, distribution):
|
|
|
-
|
|
|
- long_desc = distribution.get_long_description()
|
|
|
|
|
|
- if long_desc:
|
|
|
- long_desc = long_desc.replace('\n', '\n.br\n')
|
|
|
+ def _mk_description(self):
|
|
|
+ if self.long_desc:
|
|
|
+ long_desc = self.long_desc.replace('\n', '\n.br\n')
|
|
|
return '.SH DESCRIPTION\n%s\n' % self._markup(long_desc)
|
|
|
else:
|
|
|
return ''
|