diff options
| author | P. Christeas <p_christ@hol.gr> | 2009-10-26 12:56:50 +0200 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2009-10-26 12:56:50 +0200 |
| commit | 5ee5a1caef3c2e28622e53ecddf2c13c0efcf4c4 (patch) | |
| tree | 8a520aaf907ebd233fee957d0529c5c41333a832 /bin/report/render/rml2pdf/utils.py | |
| parent | c716ecb7319af022447d9685b61e92ab45cc0b80 (diff) | |
| parent | da2e99051a57989c592418668ab4614baf142c4e (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/rml2pdf/utils.py')
| -rw-r--r-- | bin/report/render/rml2pdf/utils.py | 14 |
1 files changed, 10 insertions, 4 deletions
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 |
