summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2021-11-26 18:54:40 +0000
committerCole Robinson <crobinso@redhat.com>2022-01-17 14:51:36 -0500
commit6b584b183f2af8b89521543b70423d6a5c240f31 (patch)
tree471a0dfa38df0609994d22c23a51bf82380e4eda
parent302ef1f09669516677d83979536617f1705e1c75 (diff)
downloadvirt-manager-6b584b183f2af8b89521543b70423d6a5c240f31.tar.gz
virtinst/osdict: refactor setup of generic fallback OsinfoOs
Introduce a property for accessing the generic fallback Os object, which will be useful in future refactoring. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
-rw-r--r--virtinst/osdict.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/virtinst/osdict.py b/virtinst/osdict.py
index 89602c0a..6fef887c 100644
--- a/virtinst/osdict.py
+++ b/virtinst/osdict.py
@@ -127,19 +127,22 @@ class _OSDB(object):
"""
def __init__(self):
self.__os_loader = None
+ self.__os_generic = None
self.__all_variants = None
#################
# Internal APIs #
#################
- def _make_default_variants(self, allvariants):
- # Add our custom generic variant
- o = Libosinfo.Os()
- o.set_param("short-id", "generic")
- o.set_param("name", _("Generic OS"))
- v = _OsVariant(o)
- allvariants[v.name] = v
+ @property
+ def _os_generic(self):
+ if not self.__os_generic:
+ # Add our custom generic variant
+ o = Libosinfo.Os()
+ o.set_param("short-id", "generic")
+ o.set_param("name", _("Generic OS"))
+ self.__os_generic = _OsVariant(o)
+ return self.__os_generic
@property
def _os_loader(self):
@@ -164,7 +167,7 @@ class _OSDB(object):
for name in osi.get_short_ids():
allvariants[name] = osi
- self._make_default_variants(allvariants)
+ allvariants["generic"] = self._os_generic
self.__all_variants = allvariants
return self.__all_variants