# HG changeset patch # User Takumi IINO # Date 1368600299 -32400 # Node ID 81d9a7f6f2e77f968dd26b0698b85e7abaf7778d # Parent 814291b5e79cb5f8e8cf0687fd306bf1fbcfb0b6 gendoc: extract print help topics into a dedicated function This will be used in an upcoming patch. diff -r 814291b5e79c -r 81d9a7f6f2e7 doc/gendoc.py --- a/doc/gendoc.py Wed May 15 15:44:55 2013 +0900 +++ b/doc/gendoc.py Wed May 15 15:44:59 2013 +0900 @@ -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():