From 051b2ce539ff472f765fe89c5746e91182f8d497 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 3 Nov 2015 21:38:53 +0100 Subject: [PATCH] [FIX] tools: ignore unknown entities while parsing --- openerp/osv/orm.py | 3 +++ openerp/tools/misc.py | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 6258846e825..ed27033ccd4 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -1729,6 +1729,9 @@ class BaseModel(object): fields = {} children = True + if isinstance(node, SKIPPED_ELEMENT_TYPES): + return fields + modifiers = {} def encode(s): diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index 9812bffdfee..0289e4c9d09 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -59,7 +59,10 @@ _logger = logging.getLogger(__name__) # List of etree._Element subclasses that we choose to ignore when parsing XML. # We include the *Base ones just in case, currently they seem to be subclasses of the _* ones. -SKIPPED_ELEMENT_TYPES = (etree._Comment, etree._ProcessingInstruction, etree.CommentBase, etree.PIBase) +SKIPPED_ELEMENT_TYPES = (etree._Comment, etree._ProcessingInstruction, etree.CommentBase, etree.PIBase, etree._Entity) + +# Configure default global parser +etree.set_default_parser(etree.XMLParser(resolve_entities=False)) def find_in_path(name): try: