From 8084d846369fbba92a277b2a066143e32da28bb0 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Mon, 14 Mar 2011 18:14:29 +0100 Subject: [PATCH 1/6] [FIX] report webkit UTF-8 support and error in embed_image. Thank to Florent Xicluna for the patch bzr revid: nicolas.bessi@camptocamp.com-20110314171429-tmfet9ar3oelcws7 --- addons/report_webkit/report_helper.py | 2 +- addons/report_webkit/webkit_report.py | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/addons/report_webkit/report_helper.py b/addons/report_webkit/report_helper.py index db0c1c372fc..2b9d8c93256 100644 --- a/addons/report_webkit/report_helper.py +++ b/addons/report_webkit/report_helper.py @@ -48,7 +48,7 @@ class WebKitHelper(object): else : width = ' ' if height : - height = 'width="%spx"'%(height) + height = 'height="%spx"'%(height) else : height = ' ' toreturn = ''%( diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 2944b768643..0157343074d 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -44,6 +44,16 @@ import addons from tools.translate import _ from osv.osv import except_osv + +def mako_template(text): + """Build a Mako template. + + This template uses UTF-8 encoding + """ + # default_filters=['unicode', 'h'] can be used to set global filters + return Template(text, input_encoding='utf-8', output_encoding='utf-8') + + class WebKitParser(report_sxw): """Custom class that use webkit to render HTML reports Code partially taken from report openoffice. Thanks guys :) @@ -98,7 +108,9 @@ class WebKitParser(report_sxw): else: command = ['wkhtmltopdf'] - command.append('-q') + command.append('--quiet') + # default to UTF-8 encoding. Use to override. + command.append("--encoding 'utf-8'") if header : head_file = file( os.path.join( tmp_dir, @@ -276,7 +288,7 @@ class WebKitParser(report_sxw): company= user.company_id #default_filters=['unicode', 'entity'] can be used to set global filter - body_mako_tpl = Template(template ,input_encoding='utf-8') + body_mako_tpl = mako_template(template) helper = WebKitHelper(cursor, uid, report_xml.id, context) try : html = body_mako_tpl.render( helper=helper, @@ -288,7 +300,7 @@ class WebKitParser(report_sxw): msg = exceptions.text_error_template().render() netsvc.Logger().notifyChannel('Webkit render', netsvc.LOG_ERROR, msg) raise except_osv(_('Webkit render'), msg) - head_mako_tpl = Template(header, input_encoding='utf-8') + head_mako_tpl = mako_template(header) try : head = head_mako_tpl.render( company=company, @@ -305,7 +317,7 @@ class WebKitParser(report_sxw): exceptions.text_error_template().render()) foot = False if footer : - foot_mako_tpl = Template(footer ,input_encoding='utf-8') + foot_mako_tpl = mako_template(footer) try : foot = foot_mako_tpl.render( company=company, From ab2ef137529aa24cbbc55c2949974527a81e3703 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Fri, 18 Mar 2011 11:22:45 +0100 Subject: [PATCH 2/6] [FIX] report webkit sample UTF-8 no filter on image. Thank to Florent Xicluna for the patch bzr revid: nicolas.bessi@camptocamp.com-20110318102245-302h2lbdf5r6czr2 --- addons/report_webkit/data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/report_webkit/data.xml b/addons/report_webkit/data.xml index 508cf426860..a841631faaa 100644 --- a/addons/report_webkit/data.xml +++ b/addons/report_webkit/data.xml @@ -53,7 +53,7 @@ - + From 4ed6eeeba6809207de8f63e2f4c0fe33bf7e0b9a Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Tue, 22 Mar 2011 14:40:40 +0100 Subject: [PATCH 3/6] [FIX] utf8 debug + minial bin version bzr revid: nicolas.bessi@camptocamp.com-20110322134040-co8s0zyt87t6ymwc --- addons/report_webkit/data.xml | 2 +- addons/report_webkit/webkit_report.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/report_webkit/data.xml b/addons/report_webkit/data.xml index a841631faaa..62a76697ea5 100644 --- a/addons/report_webkit/data.xml +++ b/addons/report_webkit/data.xml @@ -75,7 +75,7 @@ -
${helper.embed_logo_by_name('camptocamp_logo')}${helper.embed_logo_by_name('camptocamp_logo')|n}
Mail: ${company.partner_id.address and company.partner_id.address[0].email or ''|entity}
${_debug or ''} + ${_debug or ''|n} ]]> diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 0157343074d..268364fc399 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -77,7 +77,8 @@ class WebKitParser(report_sxw): _('Please install executable on your system'+ ' (sudo apt-get install wkhtmltopdf) or download it from here:'+ ' http://code.google.com/p/wkhtmltopdf/downloads/list and set the'+ - ' path to the executable on the Company form.') + ' path to the executable on the Company form.'+ + 'Minimal version is 0.9.9') ) if os.path.isabs(path) : if (os.path.exists(path) and os.access(path, os.X_OK)\ @@ -339,7 +340,7 @@ class WebKitParser(report_sxw): time=time, helper=helper, css=css, - _debug=html, + _debug=html.decode(), formatLang=self.formatLang, setLang=self.setLang, _=self.translate_call, From ba2b179b304737fdf98a7eae21bd66f320439c6d Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Tue, 22 Mar 2011 15:01:20 +0100 Subject: [PATCH 4/6] [ADD] report_webkit contributor bzr revid: nicolas.bessi@camptocamp.com-20110322140120-brw1vqx19zd49b48 --- addons/report_webkit/webkit_report.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 92c01a748c4..0d32b89645c 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -5,6 +5,7 @@ # All Right Reserved # # Author : Nicolas Bessi (Camptocamp) +# Contributor(s) : Florent Xicluna (Wingo SA) # # WARNING: This program as such is intended to be used by professional # programmers who take the whole responsability of assessing all potential From fd97f9f966d48f69dd7f2b7a216c292811f9ee76 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Tue, 5 Apr 2011 13:22:16 +0200 Subject: [PATCH 5/6] [FIX] better menu emplacement for webkit header bzr revid: nicolas.bessi@camptocamp.com-20110405112216-0cba0ii600gqd7lq --- addons/report_webkit/header_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/report_webkit/header_view.xml b/addons/report_webkit/header_view.xml index baca42d663f..f3b17f79675 100644 --- a/addons/report_webkit/header_view.xml +++ b/addons/report_webkit/header_view.xml @@ -49,7 +49,7 @@ form tree,form - + Header HTML @@ -57,7 +57,7 @@ form tree,form - + From 4ee8a210dcfaf4acb1083cc31ac84be563099914 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Thu, 7 Apr 2011 10:38:13 +0200 Subject: [PATCH 6/6] [FIX] encoding support fix for use of subprocess bzr revid: nicolas.bessi@camptocamp.com-20110407083813-m8ymnb2lka3k6qex --- addons/report_webkit/webkit_report.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 46f0028dfd5..f48795c34d3 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -112,7 +112,7 @@ class WebKitParser(report_sxw): command.append('--quiet') # default to UTF-8 encoding. Use to override. - command.append("--encoding 'utf-8'") + command.extend(['--encoding', 'utf-8']) if header : head_file = file( os.path.join( tmp_dir,