core, primitivus: better support for parameter of type list

This commit is contained in:
souliane 2013-10-02 17:38:29 +02:00
commit 010e305d53

View file

@ -148,16 +148,30 @@ def paramsXml2xmlUI(xml):
assert(False)
type_ = param.getAttribute('type')
value = param.getAttribute('value') or None
options = getOptions(param)
callback_id = param.getAttribute('callback_id') or None
if type_ == "button":
param_ui.addEmpty()
else:
param_ui.addLabel(label or name)
param_ui.addElement(name=name, type_=type_, value=value, callback_id=callback_id)
param_ui.addElement(name=name, type_=type_, value=value, options=options, callback_id=callback_id)
return param_ui.toXml()
def getOptions(param):
"""Retrieve the options for list element. Allow listing the <option/>
tags directly in <param/> or in an intermediate <options/> tag."""
elems = param.getElementsByTagName("options")
if len(elems) == 0:
elems = param.getElementsByTagName("option")
else:
elems = elems.item(0).getElementsByTagName("option")
if len(elems) == 0:
return []
return [elem.getAttribute("value") for elem in elems]
class Header(object):
"""AdvandeList's header"""