diff options
Diffstat (limited to 'src/software/openlmi/software/yumdb/__init__.py')
-rw-r--r-- | src/software/openlmi/software/yumdb/__init__.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/software/openlmi/software/yumdb/__init__.py b/src/software/openlmi/software/yumdb/__init__.py index 35a5870..e9a83c3 100644 --- a/src/software/openlmi/software/yumdb/__init__.py +++ b/src/software/openlmi/software/yumdb/__init__.py @@ -48,6 +48,7 @@ from openlmi.software.yumdb.packageinfo import PackageInfo from openlmi.software.yumdb.packagecheck import PackageFile from openlmi.software.yumdb.packagecheck import PackageCheck from openlmi.software.yumdb.process import YumWorker +from openlmi.software.yumdb.repository import Repository from openlmi.software.util import singletonmixin # this may be used as an argument to YumWorker @@ -321,3 +322,29 @@ class YumDB(singletonmixin.Singleton): """ return self._do_job(jobs.YumCheckPackage(pkg)) + @cmpi_logging.trace_method + def get_repository_list(self, kind): + """ + @param kind is one of: jobs.YumGetRepositoryList.SUPPORTED_KINDS + @param allow_duplicates says, whether to list all found versions + of single package + @return [pkg1, pkg2, ...], pkgi is instance of yumdb.Repository + """ + return self._do_job(jobs.YumGetRepositoryList(kind)) + + @cmpi_logging.trace_method + def filter_repositories(self, kind, **filters): + """ + Similar to get_repository_list(), but applies filter on packages. + @see yumdb.jobs.YumFilterRepositories job for supported filter keys + """ + return self._do_job(jobs.YumFilterRepositories(kind, **filters)) + + @cmpi_logging.trace_method + def set_repository_enabled(self, repo, enable): + """ + Enable or disable repository. + @param enable is a boolean + """ + return self._do_job(jobs.YumSetRepositoryEnabled(repo, enable)) + |