Skip to content

Commit

Permalink
Merge pull request #33 from smarlowucf/get-short-help
Browse files Browse the repository at this point in the history
get_short_help method only exists in Click 7.
  • Loading branch information
timofurrer authored Oct 14, 2021
2 parents 3e5a73b + 57b729b commit 34c49f9
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions click_man/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@

from .man import ManPage

CLICK_VERSION = tuple(int(x) for x in click.__version__.split('.'))


def get_short_help_str(command, limit=45):
"""
Gets short help for the command or makes it by shortening the long help string.
"""
return command.short_help or command.help and click.utils.make_default_short_help(command.help, limit) or ''


def generate_man_page(ctx, version=None):
"""
Generate documentation for the given command.
Expand All @@ -29,14 +39,14 @@ def generate_man_page(ctx, version=None):
# Create man page with the details from the given context
man_page = ManPage(ctx.command_path)
man_page.version = version
man_page.short_help = ctx.command.get_short_help_str()
man_page.short_help = get_short_help_str(ctx.command)
man_page.description = ctx.command.help
man_page.synopsis = ' '.join(ctx.command.collect_usage_pieces(ctx))
man_page.options = [x.get_help_record(ctx) for x in ctx.command.params if isinstance(x, click.Option)]
commands = getattr(ctx.command, 'commands', None)
if commands:
man_page.commands = [
(k, v.get_short_help_str()) for k, v in commands.items()
(k, get_short_help_str(v)) for k, v in commands.items()
]

return str(man_page)
Expand Down

0 comments on commit 34c49f9

Please sign in to comment.