summaryrefslogtreecommitdiff
path: root/openerp/report/render/html2html/html2html.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2016-09-02 15:58:39 +0200
committerRaphael Collet <rco@openerp.com>2016-09-02 17:28:12 +0200
commit9e64f9f9514194d74e166b032add8511182f2677 (patch)
tree5086710c04c6b923be18a6d1d97b3f0f3a2a9c4a /openerp/report/render/html2html/html2html.py
parent11812b0b9e82b2b1b9041d8250ce01e7b4a5f7ee (diff)
[REF] openerp: move `openerp` to `odoo`
Diffstat (limited to 'openerp/report/render/html2html/html2html.py')
-rw-r--r--openerp/report/render/html2html/html2html.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/openerp/report/render/html2html/html2html.py b/openerp/report/render/html2html/html2html.py
deleted file mode 100644
index b66d44a5a5f..00000000000
--- a/openerp/report/render/html2html/html2html.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-import base64
-import copy
-import cStringIO
-import re
-
-from reportlab.lib.utils import ImageReader
-
-from openerp.report.render.rml2pdf import utils
-
-_regex = re.compile('\[\[(.+?)\]\]')
-utils._regex = re.compile('\[\[\s*(.+?)\s*\]\]',re.DOTALL)
-class html2html(object):
- def __init__(self, html, localcontext):
- self.localcontext = localcontext
- self.etree = html
- self._node = None
-
-
- def render(self):
- def process_text(node,new_node):
- if new_node.tag in ['story','tr','section']:
- new_node.attrib.clear()
- for child in utils._child_get(node, self):
- new_child = copy.deepcopy(child)
- new_node.append(new_child)
- if len(child):
- for n in new_child:
- new_child.text = utils._process_text(self, child.text)
- new_child.tail = utils._process_text(self, child.tail)
- new_child.remove(n)
- process_text(child, new_child)
- else:
- if new_child.tag=='img' and new_child.get('name'):
- if _regex.findall(new_child.get('name')) :
- src = utils._process_text(self, new_child.get('name'))
- if src :
- new_child.set('src','data:image/gif;base64,%s'%src)
- output = cStringIO.StringIO(base64.decodestring(src))
- img = ImageReader(output)
- (width,height) = img.getSize()
- if not new_child.get('width'):
- new_child.set('width',str(width))
- if not new_child.get('height') :
- new_child.set('height',str(height))
- else :
- new_child.getparent().remove(new_child)
- new_child.text = utils._process_text(self, child.text)
- new_child.tail = utils._process_text(self, child.tail)
- self._node = copy.deepcopy(self.etree)
- for n in self._node:
- self._node.remove(n)
- process_text(self.etree, self._node)
- return self._node
-
- def url_modify(self,root):
- for n in root:
- if (n.text.find('<a ')>=0 or n.text.find('&lt;a')>=0) and n.text.find('href')>=0 and n.text.find('style')<=0 :
- node = (n.tag=='span' and n.getparent().tag=='u') and n.getparent().getparent() or ((n.tag=='span') and n.getparent()) or n
- style = node.get('color') and "style='color:%s; text-decoration: none;'"%node.get('color') or ''
- if n.text.find('&lt;a')>=0:
- t = '&lt;a '
- else :
- t = '<a '
- href = n.text.split(t)[-1]
- n.text = ' '.join([t,style,href])
- self.url_modify(n)
- return root
-
-def parseString(node, localcontext = {}):
- r = html2html(node, localcontext)
- root = r.render()
- root = r.url_modify(root)
- return root