xmlbuilder: Kill make_xpath_cb
There's no users left, and it's better to come up with a solution at the caller anyways
This commit is contained in:
parent
9e23843961
commit
d449fb6fd5
|
@ -191,12 +191,11 @@ class _VirtualCharDevice(VirtualDevice):
|
|||
"_source_path", "source_channel",
|
||||
"target_type", "target_name"]
|
||||
|
||||
type = XMLProperty(
|
||||
doc=_("Method used to expose character device in the host."),
|
||||
xpath="./@type")
|
||||
type = XMLProperty("./@type",
|
||||
doc=_("Method used to expose character device in the host."))
|
||||
|
||||
_tty = XMLProperty("./@tty")
|
||||
_source_path = XMLProperty(xpath="./source/@path",
|
||||
_source_path = XMLProperty("./source/@path",
|
||||
doc=_("Host input path to attach to the guest."))
|
||||
|
||||
def _get_source_path(self):
|
||||
|
@ -208,7 +207,7 @@ class _VirtualCharDevice(VirtualDevice):
|
|||
self._source_path = val
|
||||
source_path = property(_get_source_path, _set_source_path)
|
||||
|
||||
source_channel = XMLProperty(xpath="./source/@channel",
|
||||
source_channel = XMLProperty("./source/@channel",
|
||||
doc=_("Source channel name."))
|
||||
|
||||
|
||||
|
|
|
@ -98,25 +98,24 @@ class VirtualRNGDevice(VirtualDevice):
|
|||
self._has_mode_bind = VirtualRNGDevice.BACKEND_MODE_BIND
|
||||
return val
|
||||
|
||||
type = XMLProperty(xpath="./backend/@model")
|
||||
model = XMLProperty(xpath="./@model",
|
||||
default_cb=lambda s: "virtio")
|
||||
type = XMLProperty("./backend/@model")
|
||||
model = XMLProperty("./@model", default_cb=lambda s: "virtio")
|
||||
|
||||
backend_type = XMLProperty(xpath="./backend/@type")
|
||||
backend_type = XMLProperty("./backend/@type")
|
||||
|
||||
bind_host = XMLProperty(xpath="./backend/source[@mode='bind']/@host",
|
||||
bind_host = XMLProperty("./backend/source[@mode='bind']/@host",
|
||||
set_converter=_set_bind_validate)
|
||||
bind_service = XMLProperty(xpath="./backend/source[@mode='bind']/@service",
|
||||
bind_service = XMLProperty("./backend/source[@mode='bind']/@service",
|
||||
set_converter=_set_bind_validate)
|
||||
|
||||
connect_host = XMLProperty(xpath="./backend/source[@mode='connect']/@host",
|
||||
set_converter=_set_connect_validate)
|
||||
connect_service = XMLProperty(set_converter=_set_connect_validate,
|
||||
xpath="./backend/source[@mode='connect']/@service")
|
||||
connect_host = XMLProperty("./backend/source[@mode='connect']/@host",
|
||||
set_converter=_set_connect_validate)
|
||||
connect_service = XMLProperty("./backend/source[@mode='connect']/@service",
|
||||
set_converter=_set_connect_validate)
|
||||
|
||||
rate_bytes = XMLProperty(xpath="./rate/@bytes")
|
||||
rate_period = XMLProperty(xpath="./rate/@period")
|
||||
rate_bytes = XMLProperty("./rate/@bytes")
|
||||
rate_period = XMLProperty("./rate/@period")
|
||||
|
||||
device = XMLProperty(xpath="./backend")
|
||||
device = XMLProperty("./backend")
|
||||
|
||||
VirtualRNGDevice.register_type()
|
||||
|
|
|
@ -332,8 +332,8 @@ class XMLChildProperty(property):
|
|||
|
||||
|
||||
class XMLProperty(property):
|
||||
def __init__(self, xpath=None, name=None, doc=None,
|
||||
set_converter=None, validate_cb=None, make_xpath_cb=None,
|
||||
def __init__(self, xpath, doc=None,
|
||||
set_converter=None, validate_cb=None,
|
||||
is_bool=False, is_int=False, is_yesno=False, is_onoff=False,
|
||||
default_cb=None, default_name=None, do_abspath=False):
|
||||
"""
|
||||
|
@ -359,9 +359,6 @@ class XMLProperty(property):
|
|||
operation we convert the XML value with int(val) / 1024.
|
||||
@param validate_cb: Called once when value is set, should
|
||||
raise a RuntimeError if the value is not proper.
|
||||
@param make_xpath_cb: Not all props map cleanly to a
|
||||
static xpath. This allows passing functions which generate
|
||||
an xpath.
|
||||
@param is_bool: Whether this is a boolean property in the XML
|
||||
@param is_int: Whether this is an integer property in the XML
|
||||
@param is_yesno: Whether this is a yes/no property in the XML
|
||||
|
@ -374,11 +371,9 @@ class XMLProperty(property):
|
|||
value, instead use the value of default_cb()
|
||||
@param do_abspath: If True, run os.path.abspath on the passed value
|
||||
"""
|
||||
|
||||
self._xpath = xpath
|
||||
self._name = name or xpath
|
||||
if not self._name:
|
||||
raise RuntimeError("XMLProperty: name or xpath must be passed.")
|
||||
if not self._xpath:
|
||||
raise RuntimeError("XMLProperty: xpath must be passed.")
|
||||
self._propname = None
|
||||
|
||||
self._is_bool = is_bool
|
||||
|
@ -387,7 +382,6 @@ class XMLProperty(property):
|
|||
self._is_onoff = is_onoff
|
||||
self._do_abspath = do_abspath
|
||||
|
||||
self._make_xpath_cb = make_xpath_cb
|
||||
self._validate_cb = validate_cb
|
||||
self._convert_value_for_setter_cb = set_converter
|
||||
self._default_cb = default_cb
|
||||
|
@ -410,7 +404,7 @@ class XMLProperty(property):
|
|||
|
||||
|
||||
def __repr__(self):
|
||||
return "<XMLProperty %s %s>" % (str(self._name), id(self))
|
||||
return "<XMLProperty %s %s>" % (str(self._xpath), id(self))
|
||||
|
||||
|
||||
####################
|
||||
|
@ -432,12 +426,7 @@ class XMLProperty(property):
|
|||
return self._propname
|
||||
|
||||
def _make_xpath(self, xmlbuilder):
|
||||
ret = self._xpath
|
||||
if self._make_xpath_cb:
|
||||
ret = self._make_xpath_cb(xmlbuilder)
|
||||
if ret is None:
|
||||
raise RuntimeError("%s: didn't generate any xpath." % self)
|
||||
return xmlbuilder.fix_relative_xpath(ret)
|
||||
return xmlbuilder.fix_relative_xpath(self._xpath)
|
||||
|
||||
|
||||
def _build_node_list(self, xmlbuilder, xpath):
|
||||
|
|
Loading…
Reference in New Issue