diff --git a/bin/report/interface.py b/bin/report/interface.py index ec9ed7ddef1..16dfafe0a18 100644 --- a/bin/report/interface.py +++ b/bin/report/interface.py @@ -164,6 +164,8 @@ class report_rml(report_int): def translate(doc, lang): for node in doc.xpath('//*[@t]'): + if not node.text: + continue translation = ir_translation_obj._get_source(cr, uid, self.name2, 'xsl', lang, node.text) if translation: node.text = translation diff --git a/bin/report/render/__init__.py b/bin/report/render/__init__.py index 1a888e18b75..1d0a4464e0b 100644 --- a/bin/report/render/__init__.py +++ b/bin/report/render/__init__.py @@ -25,8 +25,9 @@ from render import render try: import Image -except: - print 'WARNING; Python Imaging not installed, you can use only .JPG pictures !' +except ImportError: + import logging + logging.getLogger('init').warning('Python Imaging not installed, you can use only .JPG pictures !') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/bin/report/render/rml.py b/bin/report/render/rml.py index 0bc78f95555..568e83641ea 100644 --- a/bin/report/render/rml.py +++ b/bin/report/render/rml.py @@ -29,12 +29,11 @@ import makohtml2html as makohtml class rml(render.render): - def __init__(self, rml, localcontext = None, datas={}, path='.', title=None): - render.render.__init__(self, datas) + 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.path = path self.title=title @@ -42,7 +41,7 @@ class rml(render.render): 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 = {}): + def __init__(self, rml,localcontext = None, datas=None): super(rml2html, self).__init__(datas) self.rml = rml self.localcontext = localcontext @@ -52,7 +51,7 @@ class rml2html(render.render): return htmlizer.parseString(self.rml,self.localcontext) class rml2txt(render.render): - def __init__(self, rml, localcontext= None, datas={}): + def __init__(self, rml, localcontext= None, datas=None): super(rml2txt, self).__init__(datas) self.rml = rml self.localcontext = localcontext @@ -62,7 +61,7 @@ class rml2txt(render.render): return txtizer.parseString(self.rml, self.localcontext) class odt2odt(render.render): - def __init__(self, rml, localcontext = None, datas = {}): + def __init__(self, rml, localcontext=None, datas=None): render.render.__init__(self, datas) self.rml_dom = rml self.localcontext = localcontext @@ -72,7 +71,7 @@ class odt2odt(render.render): return odt.parseNode(self.rml_dom,self.localcontext) class html2html(render.render): - def __init__(self, rml, localcontext = None, datas = {}): + def __init__(self, rml, localcontext=None, datas=None): render.render.__init__(self, datas) self.rml_dom = rml self.localcontext = localcontext diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index b609528177e..d01317f8257 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -942,8 +942,12 @@ class _rml_template(object): fis.append(PageCount()) self.doc_tmpl.build(fis) -def parseNode(rml, localcontext = {},fout=None, images={}, path='.',title=None): +def parseNode(rml, localcontext=None,fout=None, images=None, path='.',title=None): node = etree.XML(rml) + if localcontext is None: + localcontext = {} + if images is None: + images = {} r = _rml_doc(node, localcontext, images, path, title=title) #try to override some font mappings try: