summaryrefslogtreecommitdiff
path: root/bin/report/render
diff options
context:
space:
mode:
authorP. Christeas <p_christ@hol.gr>2009-10-26 12:56:50 +0200
committerP. Christeas <p_christ@hol.gr>2009-10-26 12:56:50 +0200
commit5ee5a1caef3c2e28622e53ecddf2c13c0efcf4c4 (patch)
tree8a520aaf907ebd233fee957d0529c5c41333a832 /bin/report/render
parentc716ecb7319af022447d9685b61e92ab45cc0b80 (diff)
parentda2e99051a57989c592418668ab4614baf142c4e (diff)
Merge remote branch 'origin/master' into optimize
Conflicts: bin/osv/expression.py bin/osv/orm.py bzr revid: p_christ@hol.gr-20091026105650-49wvuk3o7qw1ybkn
Diffstat (limited to 'bin/report/render')
-rw-r--r--bin/report/render/rml2pdf/trml2pdf.py6
-rw-r--r--bin/report/render/rml2pdf/utils.py14
2 files changed, 13 insertions, 7 deletions
diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py
index dcaf6fe03fd..eb8d3488da1 100644
--- a/bin/report/render/rml2pdf/trml2pdf.py
+++ b/bin/report/render/rml2pdf/trml2pdf.py
@@ -475,10 +475,10 @@ class _rml_flowable(object):
if key in ('rml_except', 'rml_loop', 'rml_tag'):
del txt_n.attrib[key]
if True or not self._textual(n).isspace():
- txt_n.text = utils.xml2str(self._textual(n))
- txt_n.tail = ''
+ if not n.tag == 'bullet':
+ txt_n.text = utils.xml2str(self._textual(n))
+ txt_n.tail = n.tail and utils._process_text(self, n.tail.replace('\n','')) or ''
rc1 += etree.tostring(txt_n)
- #rc1 += utils._process_text(self, node.tail or '')
return rc1
def _table(self, node):
diff --git a/bin/report/render/rml2pdf/utils.py b/bin/report/render/rml2pdf/utils.py
index 07bbbbcd05e..abc421a0f2f 100644
--- a/bin/report/render/rml2pdf/utils.py
+++ b/bin/report/render/rml2pdf/utils.py
@@ -43,6 +43,8 @@ from lxml import etree
import copy
import tools
import locale
+import netsvc
+import traceback, sys
_regex = re.compile('\[\[(.+?)\]\]')
@@ -108,9 +110,13 @@ def _process_text(self, txt):
result += self.localcontext.get('translate', lambda x:x)(sps.pop(0))
if sps:
try:
- txt = eval(sps.pop(0),self.localcontext)
- except:
- pass
+ expr = sps.pop(0)
+ txt = eval(expr,self.localcontext)
+ except Exception,e:
+ tb_s = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback))
+ netsvc.Logger().notifyChannel('report', netsvc.LOG_ERROR,
+ 'report :\n%s\n%s\nexpr: %s' % (tb_s, str(e),
+ expr.encode('utf-8')))
if type(txt)==type('') or type(txt)==type(u''):
txt2 = str2xml(txt)
result += tools.ustr(txt2)
@@ -173,7 +179,7 @@ def attr_get(node, attrs, dict={}):
res[key] = int(node.get(key))
elif dict[key]=='unit':
res[key] = unit_get(node.get(key))
- elif dict[key] == 'float' :
+ elif dict[key] == 'float' :
res[key] = float(node.get(key))
return res