From patchwork Tue May 14 07:29:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2, of, 9, STABLE?] gendoc: extract print help topics into a dedicated function From: Takumi IINO X-Patchwork-Id: 1624 Message-Id: To: mercurial-devel@selenic.com Date: Tue, 14 May 2013 16:29:11 +0900 # HG changeset patch # User Takumi IINO # Date 1368513072 -32400 # Tue May 14 15:31:12 2013 +0900 # Branch stable # Node ID bc6795f68037d86f878b4c985fde89436ac60029 # Parent 8fcb89ec61775279bcecf73cd839c29991fbab4c gendoc: extract print help topics into a dedicated function This will be used in an upcoming patch. diff --git a/doc/gendoc.py b/doc/gendoc.py --- a/doc/gendoc.py +++ b/doc/gendoc.py @@ -74,20 +74,9 @@ ui.write(minirst.section(_("Commands"))) commandprinter(ui, table, minirst.subsection) - # print topics - for names, sec, doc in helptable: - if names[0] == "config": - # The config help topic is included in the hgrc.5 man - # page. - continue - for name in names: - ui.write(".. _%s:\n" % name) - ui.write("\n") - ui.write(minirst.section(sec)) - if util.safehasattr(doc, '__call__'): - doc = doc() - ui.write(doc) - ui.write("\n") + # print help topics + # The config help topic is included in the hgrc.5 man page. + helpprinter(ui, helptable, minirst.section, exclude=['config']) ui.write(minirst.section(_("Extensions"))) ui.write(_("This section contains help for extensions that are " @@ -108,6 +97,22 @@ ui.write(minirst.subsubsection(_('Commands'))) commandprinter(ui, cmdtable, minirst.subsubsubsection) +def helpprinter(ui, helptable, sectionfunc, include=[], exclude=[]): + for names, sec, doc in helptable: + if exclude and names[0] in exclude: + continue + if include and names[0] not in include: + continue + for name in names: + ui.write(".. _%s:\n" % name) + ui.write("\n") + if sectionfunc: + ui.write(sectionfunc(sec)) + if util.safehasattr(doc, '__call__'): + doc = doc() + ui.write(doc) + ui.write("\n") + def commandprinter(ui, cmdtable, sectionfunc): h = {} for c, attr in cmdtable.items():