From d56ca1ee72c924e1994c5e9043d5be81552bdda5 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Fri, 23 Jan 2009 17:27:22 -0500 Subject: [PATCH] add init options to specify your own yumbase object, mdconf object md generator class --- createrepo/merge.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/createrepo/merge.py b/createrepo/merge.py index d096c61..d2997b7 100644 --- a/createrepo/merge.py +++ b/createrepo/merge.py @@ -35,13 +35,23 @@ import tempfile class RepoMergeBase(): - def __init__(self, repolist=[]): + def __init__(self, repolist=[], yumbase=None, mdconf=None, mdbase_class=None ): self.repolist = repolist self.outputdir = '%s/merged_repo' % os.getcwd() self.exclude_tuples = [] self.sort_func = self._sort_func # callback function to magically sort pkgs - self.mdconf = createrepo.MetaDataConfig() - self.yumbase = yum.YumBase() + if not mdconf: + self.mdconf = createrepo.MetaDataConfig() + else: + self.mdconf = mdconf + if not mdbase_class + self.mdbase_class = createrepo.MetaDataGenerator + else: + self.mdbase_class = mdbase_class + if not yumbase: + self.yumbase = yum.YumBase() + else: + self.yumbase = yumbase self.yumbase.conf.cachedir = getCacheDir() self.yumbase.conf.cache = 0 # default to all arches @@ -121,7 +131,7 @@ class RepoMergeBase(): if not os.path.exists(self.mdconf.directory): os.makedirs(self.mdconf.directory) - mdgen = createrepo.MetaDataGenerator(config_obj=self.mdconf) + mdgen = self.mdbase_class(config_obj=self.mdconf) mdgen.doPkgMetadata() mdgen.doRepoMetadata() mdgen.doFinalMove() -- 2.34.1