From 94f6b8e5b441d217ffce4b1b390713d6835933dd Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 28 May 2014 16:56:10 +0200 Subject: [PATCH] Move parse_docstring to own function --- scripts/generate_manpage.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/generate_manpage.py b/scripts/generate_manpage.py index 509512f46..addb3b7cd 100644 --- a/scripts/generate_manpage.py +++ b/scripts/generate_manpage.py @@ -28,13 +28,18 @@ import qutebrowser.commands.utils as cmdutils from qutebrowser.utils.usertypes import enum -def get_command_doc(name, func): +def parse_docstring(func): """Generates documentation based on a docstring of a command handler. The docstring needs to follow the format described in HACKING. + + Args: + func: The function to generate the docstring for. + + Return: + A (short_desc, long_desc, arg_descs) tuple. """ State = enum('short', 'desc', 'arg_start', 'arg_inside') - doc = inspect.getdoc(func) lines = doc.splitlines() @@ -71,14 +76,19 @@ def get_command_doc(name, func): cur_arg_name = cur_arg_name.strip() arg_descs[cur_arg_name] = [argdesc.strip()] + return (short_desc, long_desc, arg_descs) + + +def get_command_doc(name, func): output = ['==== {}'.format(name)] + short_desc, long_desc, arg_descs = parse_docstring(func) output.append(' '.join(short_desc)) output.append("") output.append(' '.join(long_desc)) if arg_descs: output.append("") for arg, desc in arg_descs.items(): - output.append("* {}: {}".format(arg, ' '.join(desc))) + output.append("* +{}+: {}".format(arg, ' '.join(desc))) output.append("") output.append("")