From 4530f65211959e8911bdccbb8acd9e1826ad8bde Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 4 May 2016 16:27:21 +0200 Subject: [PATCH] [IMP] ir_qweb: FileSystemLoader is only use by test --- openerp/addons/base/ir/ir_qweb/utils.py | 21 -------------------- openerp/addons/base/tests/test_qweb.py | 26 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/openerp/addons/base/ir/ir_qweb/utils.py b/openerp/addons/base/ir/ir_qweb/utils.py index 806063d6100..307ea2353ee 100644 --- a/openerp/addons/base/ir/ir_qweb/utils.py +++ b/openerp/addons/base/ir/ir_qweb/utils.py @@ -284,27 +284,6 @@ class QWebTemplateNotFound(QWebException): pass -class FileSystemLoader(object): - def __init__(self, path): - # TODO: support multiple files #add_file() + add cache - self.path = path - self.doc = etree.parse(path).getroot() - - def __iter__(self): - for node in self.doc: - name = node.get('t-name') - if name: - yield name - - def __call__(self, name): - for node in self.doc: - if node.get('t-name') == name: - root = etree.Element('templates') - root.append(deepcopy(node)) - arch = etree.tostring(root, encoding='utf-8', xml_declaration=True) - return arch - - class QWebContext(dict): def __init__(self, env, data, loader=None, templates=None): self.env = env diff --git a/openerp/addons/base/tests/test_qweb.py b/openerp/addons/base/tests/test_qweb.py index 63a280579ed..61c219e26fa 100644 --- a/openerp/addons/base/tests/test_qweb.py +++ b/openerp/addons/base/tests/test_qweb.py @@ -9,7 +9,7 @@ import re from lxml import etree -from odoo.addons.base.ir.ir_qweb import QWebContext, FileSystemLoader +from odoo.addons.base.ir.ir_qweb import QWebContext from odoo.modules import get_module_resource from odoo.tests.common import TransactionCase @@ -67,7 +67,29 @@ class TestQWebTField(TransactionCase): self.engine.render_node(field, self.context({'company': None})) -class TestQWeb(TransactionCase): +from copy import deepcopy +class FileSystemLoader(object): + def __init__(self, path): + # TODO: support multiple files #add_file() + add cache + self.path = path + self.doc = etree.parse(path).getroot() + + def __iter__(self): + for node in self.doc: + name = node.get('t-name') + if name: + yield name + + def __call__(self, name): + for node in self.doc: + if node.get('t-name') == name: + root = etree.Element('templates') + root.append(deepcopy(node)) + arch = etree.tostring(root, encoding='utf-8', xml_declaration=True) + return arch + + +class TestQWeb(common.TransactionCase): matcher = re.compile(r'^qweb-test-(.*)\.xml$') @classmethod