scripts/qom-fuse: use QOMCommand.qom_list()

the qom_list method provides a type-safe object that's easier to type
check, so switch to using it.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20210603003719.1321369-14-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
John Snow 2021-06-02 20:37:13 -04:00
parent 2aa101799a
commit 9ec8a38694

View File

@ -94,7 +94,7 @@ class QOMFuse(QOMCommand, Operations):
def is_object(self, path):
"""Is the given QOM path an object?"""
try:
self.qmp.command('qom-list', path=path)
self.qom_list(path)
return True
except QMPResponseError:
return False
@ -105,8 +105,8 @@ class QOMFuse(QOMCommand, Operations):
if path == '':
path = '/'
try:
for item in self.qmp.command('qom-list', path=path):
if item['name'] == prop:
for item in self.qom_list(path):
if item.name == prop:
return True
return False
except QMPResponseError:
@ -118,11 +118,9 @@ class QOMFuse(QOMCommand, Operations):
if path == '':
path = '/'
try:
for item in self.qmp.command('qom-list', path=path):
if item['name'] == prop:
if item['type'].startswith('link<'):
return True
return False
for item in self.qom_list(path):
if item.name == prop and item.link:
return True
return False
except QMPResponseError:
return False
@ -200,8 +198,8 @@ class QOMFuse(QOMCommand, Operations):
def readdir(self, path, fh):
yield '.'
yield '..'
for item in self.qmp.command('qom-list', path=path):
yield str(item['name'])
for item in self.qom_list(path):
yield item.name
if __name__ == '__main__':