From: Seth Vidal Date: Fri, 23 Jan 2009 22:27:22 +0000 (-0500) Subject: add init options to specify your own yumbase object, mdconf object md generator class X-Git-Tag: upstream/0.9.9~87 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d56ca1ee72c924e1994c5e9043d5be81552bdda5;p=tools%2Fcreaterepo.git add init options to specify your own yumbase object, mdconf object md generator class --- 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()