[IMP] Better variable naming in xml2json
bzr revid: fme@openerp.com-20111201092823-mbwyp8tjla9k2xf3
This commit is contained in:
parent
740124b5fa
commit
ce41e645f7
|
@ -16,7 +16,7 @@ class Xml2Json(object):
|
||||||
return Xml2Json.convert_element(root)
|
return Xml2Json.convert_element(root)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def convert_element(el, skip_whitespaces=True):
|
def convert_element(el, preserve_whitespaces=False):
|
||||||
res = {}
|
res = {}
|
||||||
if el.tag[0] == "{":
|
if el.tag[0] == "{":
|
||||||
ns, name = el.tag.rsplit("}", 1)
|
ns, name = el.tag.rsplit("}", 1)
|
||||||
|
@ -28,11 +28,11 @@ class Xml2Json(object):
|
||||||
for k, v in el.items():
|
for k, v in el.items():
|
||||||
res["attrs"][k] = v
|
res["attrs"][k] = v
|
||||||
kids = []
|
kids = []
|
||||||
if el.text and (not skip_whitespaces or el.text.strip() != ''):
|
if el.text and (preserve_whitespaces or el.text.strip() != ''):
|
||||||
kids.append(el.text)
|
kids.append(el.text)
|
||||||
for kid in el:
|
for kid in el:
|
||||||
kids.append(Xml2Json.convert_element(kid, skip_whitespaces))
|
kids.append(Xml2Json.convert_element(kid, preserve_whitespaces))
|
||||||
if kid.tail and (not skip_whitespaces or kid.tail.strip() != ''):
|
if kid.tail and (preserve_whitespaces or kid.tail.strip() != ''):
|
||||||
kids.append(kid.tail)
|
kids.append(kid.tail)
|
||||||
res["children"] = kids
|
res["children"] = kids
|
||||||
return res
|
return res
|
||||||
|
|
|
@ -841,12 +841,12 @@ class View(openerpweb.Controller):
|
||||||
context = req.session.eval_context(req.context)
|
context = req.session.eval_context(req.context)
|
||||||
fvg = Model.fields_view_get(view_id, view_type, context, toolbar, submenu)
|
fvg = Model.fields_view_get(view_id, view_type, context, toolbar, submenu)
|
||||||
# todo fme?: check that we should pass the evaluated context here
|
# todo fme?: check that we should pass the evaluated context here
|
||||||
self.process_view(req.session, fvg, context, transform, (view_type != 'kanban'))
|
self.process_view(req.session, fvg, context, transform, (view_type == 'kanban'))
|
||||||
if toolbar and transform:
|
if toolbar and transform:
|
||||||
self.process_toolbar(req, fvg['toolbar'])
|
self.process_toolbar(req, fvg['toolbar'])
|
||||||
return fvg
|
return fvg
|
||||||
|
|
||||||
def process_view(self, session, fvg, context, transform, skip_whitespaces=True):
|
def process_view(self, session, fvg, context, transform, preserve_whitespaces=False):
|
||||||
# depending on how it feels, xmlrpclib.ServerProxy can translate
|
# depending on how it feels, xmlrpclib.ServerProxy can translate
|
||||||
# XML-RPC strings to ``str`` or ``unicode``. ElementTree does not
|
# XML-RPC strings to ``str`` or ``unicode``. ElementTree does not
|
||||||
# enjoy unicode strings which can not be trivially converted to
|
# enjoy unicode strings which can not be trivially converted to
|
||||||
|
@ -864,7 +864,7 @@ class View(openerpweb.Controller):
|
||||||
xml = self.transform_view(arch, session, evaluation_context)
|
xml = self.transform_view(arch, session, evaluation_context)
|
||||||
else:
|
else:
|
||||||
xml = ElementTree.fromstring(arch)
|
xml = ElementTree.fromstring(arch)
|
||||||
fvg['arch'] = web.common.xml2json.Xml2Json.convert_element(xml, skip_whitespaces)
|
fvg['arch'] = web.common.xml2json.Xml2Json.convert_element(xml, preserve_whitespaces)
|
||||||
|
|
||||||
for field in fvg['fields'].itervalues():
|
for field in fvg['fields'].itervalues():
|
||||||
if field.get('views'):
|
if field.get('views'):
|
||||||
|
|
Loading…
Reference in New Issue