Source code for pycropml.transpiler.generators.docGenerator
# coding: utf-8
from pycropml.transpiler.codeGenerator import CodeGenerator
[docs]
class DocGenerator(CodeGenerator):
"""Generate doc in different target language
- desccription of the code
- Inputs details
- Outputs details
"""
def __init__(self, model=None, tag='#'):
CodeGenerator.__init__(self)
self.model=model
self.indent_with=' '*4
self.tag = tag
if self.model:
self.inputs_doc = self.comment(self.doc(self.model.inputs, "inputs"))
self.outputs_doc = self.comment(self.doc(self.model.outputs, "outputs"))
self.header = self.comment(self.generate_header(self.model))
self.desc = self.comment(self.generate_desc(self.model))
[docs]
def doc(self, x, name):
doc ="- %s:" %name
for z in x:
doc+=('''
* name: %s'''%z.name)
for j, k in z.__dict__['_attributes'].items() :
if j!="name":
doc+=('''
** %s : %s'''%(j,k))
return doc
[docs]
def generate_desc(self,model):
desc = model.description
_doc = "- Description:"
_doc += """
* Title: %s
* Authors: %s
* Reference: %s
* Institution: %s
* ExtendedDescription: %s
* ShortDescription: %s""" %(desc.Title, desc.Authors, desc.Reference, desc.Institution, desc.ExtendedDescription, desc.ShortDescription)
return _doc