From 62d038dca49d1a7b320f40fe1ac3ce35aa533c8e Mon Sep 17 00:00:00 2001 From: Jan-Piet Mens Date: Fri, 28 Sep 2012 09:59:43 +0200 Subject: [PATCH] module_formatter fixes --- hacking/module_formatter.py | 26 ++++++++------ hacking/templates/latex.j2 | 70 ------------------------------------- hacking/templates/man.j2 | 25 ++++++------- hacking/templates/rst.j2 | 12 +++---- 4 files changed, 31 insertions(+), 102 deletions(-) delete mode 100644 hacking/templates/latex.j2 diff --git a/hacking/module_formatter.py b/hacking/module_formatter.py index 081229724e6..5451d5abbfd 100755 --- a/hacking/module_formatter.py +++ b/hacking/module_formatter.py @@ -115,15 +115,6 @@ def rst_fmt(text, fmt): def rst_xline(width, char="="): return char * width - -# FIXME: path should be configurable -env = Environment(loader=FileSystemLoader('../ansible/hacking/templates/'), - variable_start_string="@{", - variable_end_string="}@", - ) - -env.globals['xline'] = rst_xline - def load_examples_section(text): return text.split('***BREAK***') @@ -165,6 +156,11 @@ def main(): dest="module_dir", default=MODULEDIR, help="Ansible modules/ directory") + p.add_argument("-T", "--template-dir", + action="store", + dest="template_dir", + default="hacking/templates", + help="directory containing Jinja2 templates") p.add_argument("-t", "--type", action='store', dest='type', @@ -208,7 +204,16 @@ def main(): print "Need module_dir" sys.exit(1) - # TODO: make template dir configurable + if not args.template_dir: + print "Need template_dir" + sys.exit(1) + + env = Environment(loader=FileSystemLoader(args.template_dir), + variable_start_string="@{", + variable_end_string="}@", + ) + + env.globals['xline'] = rst_xline if args.type == 'latex': env.filters['jpfunc'] = latex_ify @@ -241,7 +246,6 @@ def main(): if fname.endswith(".swp"): continue - # FIXME: html/manpage/latex print " processing module source ---> %s" % fname doc = get_docstring(fname, verbose=args.verbose) diff --git a/hacking/templates/latex.j2 b/hacking/templates/latex.j2 deleted file mode 100644 index 0ae8057926b..00000000000 --- a/hacking/templates/latex.j2 +++ /dev/null @@ -1,70 +0,0 @@ -%--- @{ module | upper }@ ---- from @{ filename }@ --- - -%: -- module header -\mods{@{module}@}{@{docuri}@}{ - {% for desc in description -%} - @{ desc | jpfunc }@ - {% endfor -%} - {% if version_added is defined -%} - (\I{* new in version @{ version_added }@}) - {% endif -%} - } - -%: -- module options - -{% if options is defined -%} -\begin{xlist}{abcdefghijklmno} - {% for o in options -%} - {% for opt, v in o.iteritems() -%} - - {% if v['required'] -%} - \item[\man\,\C{@{ opt }@}] - {% else -%} - \item[\opt\,\C{@{ opt }@}] - {% endif -%} - - {# -------- option description ----------#} - {% for desc in v.description -%} - @{ desc | jpfunc }@ - {% endfor %} - {% if v['choices'] -%} - \B{Choices}:\, - {% for choice in v['choices'] -%}\C{@{ choice }@}{% if not loop.last %},{% else %}.{% endif %} - {% endfor -%} - {% endif -%} - {% if v['default'] -%} - (default \C{@{ v['default'] }@}) - {% endif -%} - {% if v['version_added'] is defined -%} - (\I{* version @{ v['version_added'] }@}) - {% endif -%} - {% endfor -%} - {% endfor -%} -\end{xlist} -{% endif -%} - -{% if notes is defined -%} - {# -------- notes ----------#} - {% for note in notes -%} - \I{@{ note | jpfunc }@} - {% endfor %} -{% endif -%} - -{#------------------------------------------- - -{% if examples is defined -%} - {% for e in examples -%} - \begin{extymeta} -@{ e['code'] }@ - \end{extymeta} - {% endfor -%} -{% endif -%} ------------------------------------ #} - -{% if extradata is defined -%} -%--- BEGIN-EXTRADATA -\begin{extymeta} -@{ extradata -}@ -\end{extymeta} -%----- END-EXTRADATA -{% endif -%} diff --git a/hacking/templates/man.j2 b/hacking/templates/man.j2 index 2f0ec848232..61a967b4a00 100644 --- a/hacking/templates/man.j2 +++ b/hacking/templates/man.j2 @@ -13,24 +13,19 @@ ." {% if options is defined -%} .SH OPTIONS -{% for o in options -%}{% for opt, v in o.iteritems() -%} -.IP @{opt}@ -{% for desc in v.description -%} -@{ desc | jpfunc }@ -{% endfor -%} -{% if v['required'] %}(required){% endif -%} -{% if v['choices'] -%} -." .SS Choices +{% for (k,v) in options.iteritems() %} +.IP @{ k }@ +{% for desc in v.description -%}@{ desc | jpfunc }@{% endfor -%} +{% if v.get('choices') %} .IR Choices : -{% for choice in v['choices'] -%}@{ choice }@{% if not loop.last %},{% else %}.{% endif -%} -{% endfor -%} -{% endif %} +{% for choice in v.get('choices',[]) -%}@{ choice }@{% if not loop.last %},{%else%}.{%endif-%}{% endfor -%}{% endif %} +{% if v.get('required') %}(required){% endif -%} +{% if v.get('default') %} (default: @{ v.get('default') }@){% endif -%} {#---------------------------------------------- #} -{% if v['version_added'] is defined -%} -(Added in Ansible version @{ v['version_added'] }@.) +{% if v.get('version_added') -%} +(Added in Ansible version @{ v.get('version_added') }@.) {% endif -%} - {% endfor -%} - {% endfor -%} +{% endfor %} {% endif %} ." ." diff --git a/hacking/templates/rst.j2 b/hacking/templates/rst.j2 index 74701bbfca3..551dc617264 100644 --- a/hacking/templates/rst.j2 +++ b/hacking/templates/rst.j2 @@ -1,7 +1,7 @@ .. _@{ module }@: @{ module }@ -```````` +`````````````````````````````` {# ------------------------------------------ # @@ -23,11 +23,11 @@ - - - - - + + + + + {% for (k,v) in options.iteritems() %}
parameterrequireddefaultchoicescommentsparameterrequireddefaultchoicescomments