Merge lp:~openerp-dev/openobject-server/trunk-bug-885299-qdp into lp:openobject-server

Proposed by qdp (OpenERP)
Status: Merged
Merged at revision: 3781
Proposed branch: lp:~openerp-dev/openobject-server/trunk-bug-885299-qdp
Merge into: lp:openobject-server
Diff against target: 49 lines (+12/-7)
2 files modified
openerp/report/render/rml2pdf/trml2pdf.py (+4/-5)
openerp/report/render/rml2pdf/utils.py (+8/-2)
To merge this branch: bzr merge lp:~openerp-dev/openobject-server/trunk-bug-885299-qdp
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+81291@code.launchpad.net

Description of the change

_process_text escaping char for xml + small code cleaning

To post a comment you must log in.
3780. By Quentin (OpenERP) <email address hidden>

[FIX] rml2pdf: _process_text escaping char for xml

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openerp/report/render/rml2pdf/trml2pdf.py'
2--- openerp/report/render/rml2pdf/trml2pdf.py 2011-09-19 23:34:07 +0000
3+++ openerp/report/render/rml2pdf/trml2pdf.py 2011-11-04 16:02:25 +0000
4@@ -610,11 +610,10 @@
5 for key in txt_n.attrib.keys():
6 if key in ('rml_except', 'rml_loop', 'rml_tag'):
7 del txt_n.attrib[key]
8- if True or not self._textual(n).isspace():
9- if not n.tag == 'bullet':
10- txt_n.text = utils.xml2str(self._textual(n))
11- txt_n.tail = n.tail and utils._process_text(self, n.tail.replace('\n','')) or ''
12- rc1 += etree.tostring(txt_n)
13+ if not n.tag == 'bullet':
14+ txt_n.text = utils.xml2str(self._textual(n))
15+ txt_n.tail = n.tail and utils.xml2str(utils._process_text(self, n.tail.replace('\n',''))) or ''
16+ rc1 += etree.tostring(txt_n)
17 return rc1
18
19 def _table(self, node):
20
21=== modified file 'openerp/report/render/rml2pdf/utils.py'
22--- openerp/report/render/rml2pdf/utils.py 2011-02-07 12:57:23 +0000
23+++ openerp/report/render/rml2pdf/utils.py 2011-11-04 16:02:25 +0000
24@@ -110,6 +110,12 @@
25 yield n
26
27 def _process_text(self, txt):
28+ '''
29+ Translate a text and escape it for xml.
30+
31+ :param txt: text, varchar to process
32+ :return: translated and escaped text
33+ '''
34 if not self.localcontext:
35 return str2xml(txt)
36 if not txt:
37@@ -130,10 +136,10 @@
38 except Exception:
39 pass
40 if isinstance(txt, basestring):
41- result += str2xml(txt)
42+ result += txt
43 elif txt and (txt is not None) and (txt is not False):
44 result += ustr(txt)
45- return result
46+ return str2xml(result)
47
48 def text_get(node):
49 return ''.join([ustr(n.text) for n in node])