[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