diff options
Diffstat (limited to 'odoo/report/render/rml.py')
| -rw-r--r-- | odoo/report/render/rml.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/odoo/report/render/rml.py b/odoo/report/render/rml.py new file mode 100644 index 00000000000..d87a3a54ae2 --- /dev/null +++ b/odoo/report/render/rml.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import render +from . import rml2pdf +from . import rml2html as htmlizer +from . import rml2txt as txtizer +from . import odt2odt as odt +from . import html2html as html +from . import makohtml2html as makohtml + + +class rml(render.render): + def __init__(self, rml, localcontext = None, datas=None, path='.', title=None): + render.render.__init__(self, datas, path) + self.localcontext = localcontext + self.rml = rml + self.output_type = 'pdf' + self.title=title + + def _render(self): + return rml2pdf.parseNode(self.rml, self.localcontext, images=self.bin_datas, path=self.path,title=self.title) + + +class rml2html(render.render): + def __init__(self, rml,localcontext = None, datas=None): + super(rml2html, self).__init__(datas) + self.rml = rml + self.localcontext = localcontext + self.output_type = 'html' + + def _render(self): + return htmlizer.parseString(self.rml,self.localcontext) + + +class rml2txt(render.render): + def __init__(self, rml, localcontext= None, datas=None): + super(rml2txt, self).__init__(datas) + self.rml = rml + self.localcontext = localcontext + self.output_type = 'txt' + + def _render(self): + return txtizer.parseString(self.rml, self.localcontext) + + +class odt2odt(render.render): + def __init__(self, rml, localcontext=None, datas=None): + render.render.__init__(self, datas) + self.rml_dom = rml + self.localcontext = localcontext + self.output_type = 'odt' + + def _render(self): + return odt.parseNode(self.rml_dom,self.localcontext) + + +class html2html(render.render): + def __init__(self, rml, localcontext=None, datas=None): + render.render.__init__(self, datas) + self.rml_dom = rml + self.localcontext = localcontext + self.output_type = 'html' + + def _render(self): + return html.parseString(self.rml_dom,self.localcontext) + + +class makohtml2html(render.render): + def __init__(self, html, localcontext = None): + render.render.__init__(self) + self.html = html + self.localcontext = localcontext + self.output_type = 'html' + + def _render(self): + return makohtml.parseNode(self.html,self.localcontext) |
