[virt-tools-list] [virt-manager PATCH 9/9] osdict: Use identify_tree()

Fabiano Fidêncio fidencio at redhat.com
Tue Jul 16 15:14:32 UTC 2019


Let's use identify_tree(), which is part of libosinfo v1.6.0 release,
instead of using guess_os_from_tree().

The API has been implemented on libosinfo in order to be consistent with
what was already done for medias.

Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
 virtinst/osdict.py | 15 +++++++++++----
 1 file 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):
         """
-- 
2.21.0




More information about the virt-tools-list mailing list