def _init_db(self): """ Initialize the internal Libosinfo.Db object. """ loader = Libosinfo.Loader() loader.process_default_path() self._db = loader.get_db()
def _os_loader(self): if not self.__os_loader: loader = Libosinfo.Loader() loader.process_default_path() self.__os_loader = loader return self.__os_loader
def _get_os_loader(): global _os_loader if _os_loader: return _os_loader _os_loader = libosinfo.Loader() _os_loader.process_default_path() return _os_loader
def _get_all_variants(self): loader = libosinfo.Loader() loader.process_default_path() allvariants = self._make_default_variants() db = loader.get_db() oslist = db.get_os_list() for os in range(oslist.get_length()): osi = _OsVariant(oslist.get_nth(os)) allvariants[osi.name] = osi return allvariants
def _os_loader(self): if _WITHOUT_LIBOSINFO: if self.__os_loader is not None: self.__os_loader = None return self.__os_loader if not self.__os_loader: loader = libosinfo.Loader() loader.process_default_path() self.__os_loader = loader return self.__os_loader
def init_osinfo(path=None): """ Initialize libosinfo db. :param path: libosinfo distro data :return: an osinfo.Db instance """ if osinfo is None: return None loader = osinfo.Loader() if path is None: loader.process_default_path() else: loader.process_path(path) return loader.get_db()
#!/usr/bin/python from gi.repository import Libosinfo as osinfo; loader = osinfo.Loader() loader.process_path("./") db = loader.get_db() devs = db.get_device_list() print "All device IDs" for dev in devs.get_elements(): print (" Device " + dev.get_id()) names = db.unique_values_for_property_in_device("name") print "All device names" for name in names: print (" Name " + name) osnames = db.unique_values_for_property_in_os("short-id") osnames.sort() print "All OS short IDs" for name in osnames: print (" OS short id " + name) hvnames = db.unique_values_for_property_in_platform("short-id") hvnames.sort()
#!/usr/bin/python3 import gi gi.require_version('Libosinfo', '1.0') from gi.repository import Libosinfo import sys import json loader = Libosinfo.Loader() loader.process_default_path() db = loader.get_db() url_type_media = sys.argv[1].endswith(".iso") os = None res = {} if url_type_media: media = Libosinfo.Media().create_from_location(sys.argv[1]) db.identify_media(media) os = media.get_os() if os: res = {'os': os.get_id(), 'media': media.get_id()} else: tree = Libosinfo.Tree().create_from_location(sys.argv[1]) os, _ = db.guess_os_from_tree(tree) if os: res = {'os': os.get_id()} print(json.dumps(res))
def _get_os_loader(self): loader = libosinfo.Loader() loader.process_default_path() return loader
def setUp(self): self.loader = osinfo.Loader() self.loader.process_default_path() self.db = self.loader.get_db()