raise an exception if the root element is not <terp/> or <openerp/>
bzr revid: stephane@tinyerp.com-20080910132330-y0ogf3o2kj3l9mw0
This commit is contained in:
parent
47800c2c26
commit
de9ce4a0e1
|
@ -203,10 +203,17 @@
|
|||
</rng:define>
|
||||
|
||||
<rng:start>
|
||||
<rng:choice>
|
||||
<rng:element name="openerp">
|
||||
<rng:oneOrMore>
|
||||
<rng:ref name="data" />
|
||||
</rng:oneOrMore>
|
||||
</rng:element>
|
||||
<rng:element name="terp">
|
||||
<rng:oneOrMore>
|
||||
<rng:ref name="data" />
|
||||
</rng:oneOrMore>
|
||||
</rng:element>
|
||||
</rng:choice>
|
||||
</rng:start>
|
||||
</rng:grammar>
|
||||
|
|
|
@ -678,6 +678,14 @@ form: module.record_id""" % (xml_id,)
|
|||
def parse(self, xmlstr):
|
||||
d = xml.dom.minidom.parseString(xmlstr)
|
||||
de = d.documentElement
|
||||
|
||||
if not de.nodeName in ['terp', 'openerp']:
|
||||
self.logger.notifyChannel("init", netsvc.LOG_ERROR, "Mismatch xml format" )
|
||||
raise Exception( "Mismatch xml format: only terp or openerp as root tag" )
|
||||
|
||||
if de.nodeName == 'terp':
|
||||
self.logger.notifyChannel("init", netsvc.LOG_WARNING, "The tag <terp /> is deprecated, use <openerp/>")
|
||||
|
||||
for n in [i for i in de.childNodes if (i.nodeType == i.ELEMENT_NODE and i.nodeName=="data")]:
|
||||
for rec in n.childNodes:
|
||||
if rec.nodeType == rec.ELEMENT_NODE:
|
||||
|
|
Loading…
Reference in New Issue