def get_required_by_typelibs(): deps = set() repo = GIRepository.Repository() for tl in os.listdir(repo.get_search_path()[0]): namespace, version = os.path.splitext(tl)[0].split("-", 1) lib = get_shared_libraries(namespace, version) libs = lib.lower().split(",") if lib else [] for lib in libs: deps.add((namespace, version, lib)) return deps
def get_required_by_typelibs(): deps = set() repo = GIRepository.Repository() for tl in os.listdir(repo.get_search_path()[0]): namespace, version = os.path.splitext(tl)[0].split("-", 1) repo.require(namespace, version, 0) lib = repo.get_shared_library(namespace) if lib: deps.update(lib.split(",")) return deps
def _get_shared_libraries(q, namespace, version): repo = GIRepository.Repository() repo.require(namespace, version, 0) lib = repo.get_shared_library(namespace) q.put(lib)
#!/usr/bin/env python import gi gi.require_version("GIRepository", "2.0") gi.require_version("Clutter", "1.0") from gi.repository import GIRepository from gi.repository import Clutter from gi.repository import GObject repo = GIRepository.Repository().get_default() info = repo.find_by_name("Clutter", "PaintNode") type = GIRepository.registered_type_info_get_g_type(info) print(GObject.type_name(type))