[Rpm-metadata] createrepo/merge.py
skvidal at osuosl.org
skvidal at osuosl.org
Fri Jan 23 22:28:17 UTC 2009
createrepo/merge.py | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
New commits:
commit d56ca1ee72c924e1994c5e9043d5be81552bdda5
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Fri Jan 23 17:27:22 2009 -0500
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()
More information about the Rpm-metadata
mailing list