summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--virtinst/osdict.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/virtinst/osdict.py b/virtinst/osdict.py
index 3b71ac31..f09bcc29 100644
--- a/virtinst/osdict.py
+++ b/virtinst/osdict.py
@@ -260,10 +260,17 @@ class _OSDB(object):
"location=%s : %s", location, str(e))
return None
- osobj, treeobj = self._os_loader.get_db().guess_os_from_tree(tree)
- if not osobj:
- return None # pragma: no cover
- return osobj.get_short_id(), _OsTree(treeobj)
+ db = self._os_loader.get_db()
+ if hasattr(db, "identify_tree"):
+ # osinfo_db_identify_tree is part of libosinfo 1.6.0
+ if not db.identify_tree(tree):
+ return None # pragma: no cover
+ return tree.get_os().get_short_id(), _OsTree(tree)
+ else:
+ osobj, treeobj = self._os_loader.get_db().guess_os_from_tree(tree)
+ if not osobj:
+ return None # pragma: no cover
+ return osobj.get_short_id(), _OsTree(treeobj)
def list_os(self):
"""