def make_node(self, lang='en'):
if lang not in texts.keys():
lang = 'en'
arg_map = texts[lang]["arg_map"]
task_title = texts[lang]["task_title"]
module_title = texts[lang]["module_title"]
module = ""
module_args = []
# first, search module
for arg, m in self.args.items():
if arg not in arg_map.keys():
module = arg
module_args.append(m)
item = nodes.admonition()
title = nodes.title(text=self.name)
item.append(title)
for m in module_args:
if isinstance(m, str):
item.append(nodes.paragraph(text=m))
else:
mlist = []
for k, v in m.items():
mlist.append("%s=%s" % (k, v))
item.append(nodes.paragraph(text=" ".join(mlist)))
field_list = nodes.field_list()
field_list.append(self.make_arg(module_title, module))
# second, create node tree
for arg, txt in arg_map.items():
if not txt: # skip name etc...
continue
if arg not in self.args:
continue
value = self.args[arg] # value of that task arg
if isinstance(value, list):
bl = nodes.bullet_list()
for v in value:
body = nodes.emphasis(text=v)
bl.append(nodes.list_item('', body))
name = nodes.field_name(text=txt)
body = nodes.field_body()
body.append(bl)
field = nodes.field()
field += [name, body]
field_list.append(field)
else:
field_list.append(self.make_arg(txt, value))
item.append(field_list)
return item
ansibleautodoc.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录