Source code for setuptools_generate._help2man

"""help2man
===========
"""
import os
import sys
from typing import Callable

from help2man import TEMPLATES, help2man

from .utils import get_stdout


[docs]def generate_man( function: Callable, prog: str, sdist: str, build: str ) -> None: """Generate man. :param function: :type function: Callable :param prog: :type prog: str :param sdist: :type sdist: str :param build: :type build: str :rtype: None """ argv = sys.argv sys.argv = [prog, "--help"] helpstr = get_stdout(function) sys.argv = [prog, "--version"] versionstr = get_stdout(function) sys.argv = argv man = help2man(helpstr, versionstr) with open(os.path.join(sdist, prog + ".1"), "w") as f: f.write(man) doc = help2man(helpstr, versionstr, template=TEMPLATES["markdown"]) with open(os.path.join(build, prog + ".md"), "w") as f: f.write(doc)