Exemple #1
0
 def _init_db(self):
     """
     Initialize the internal Libosinfo.Db object.
     """
     loader = Libosinfo.Loader()
     loader.process_default_path()
     self._db = loader.get_db()
Exemple #2
0
    def _os_loader(self):
        if not self.__os_loader:
            loader = Libosinfo.Loader()
            loader.process_default_path()

            self.__os_loader = loader
        return self.__os_loader
Exemple #3
0
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
Exemple #4
0
 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
Exemple #5
0
    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
Exemple #6
0
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()
Exemple #7
0
#!/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()
Exemple #8
0
#!/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))
Exemple #9
0
 def _get_os_loader(self):
     loader = libosinfo.Loader()
     loader.process_default_path()
     return loader
Exemple #10
0
 def setUp(self):
     self.loader = osinfo.Loader()
     self.loader.process_default_path()
     self.db = self.loader.get_db()