[yum-cvs] yum-utils yumdownloader.py,1.7,1.8

Seth Vidal skvidal at linux.duke.edu
Tue Apr 11 06:25:53 UTC 2006


Update of /home/groups/yum/cvs/yum-utils
In directory login1.linux.duke.edu:/tmp/cvs-serv3745

Modified Files:
	yumdownloader.py 
Log Message:
add --enablerepo to yumdownloader - similar to patch from Miroslav Prymek -
thanks!



Index: yumdownloader.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/yumdownloader.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- yumdownloader.py	16 Feb 2006 23:24:15 -0000	1.7
+++ yumdownloader.py	11 Apr 2006 06:25:51 -0000	1.8
@@ -29,28 +29,21 @@
 from optparse import OptionParser
 from urlparse import urljoin
 
-def initYum(source=False):
+def initYum():
     my = yum.YumBase()
     my.doConfigSetup()
-    my.conf.setConfigOption('uid', os.geteuid())
-    if my.conf.getConfigOption('uid') != 0:
+    my.conf.uid = os.geteuid()
+    if my.conf.uid != 0:
         cachedir = getCacheDir()
         if cachedir is None:
             print "Error: Could not make cachedir, exiting"
             sys.exit(50)
         my.repos.setCacheDir(cachedir)
     my.repos.setProgressBar(TextMeter(fo=sys.stdout))
-    my.log = Logger(threshold=my.conf.getConfigOption('debuglevel'), 
-    file_object =sys.stdout)
+    my.log = Logger(threshold=my.conf.debuglevel, file_object =sys.stdout)
     my.repos.callback = output.CacheProgressCallback(my.log,
     my.errorlog, my.filelog)
 
-    my.doRepoSetup()
-    archlist = None
-    if source:
-        archlist = ['src']
-
-    my.doSackSetup(archlist=archlist)
     return my
 
 def parseArgs():
@@ -64,6 +57,9 @@
       help='resolve dependencies and download required packages')
     parser.add_option("--source", default=False, dest="source", action="store_true",
       help='operate on source packages')
+    parser.add_option("-e","--enablerepo", default=[], action="append", dest="repo",
+      help='enable repository')
+
     (opts, args) = parser.parse_args()
     if len(args) < 1: 
         parser.print_help()
@@ -72,7 +68,30 @@
 
 def main():
     (opts, args) = parseArgs()
-    my = initYum(opts.source)
+    my = initYum()
+
+    if len(opts.repo) > 0:
+        myrepos = []
+        
+        # find the ones we want
+        for glob in opts.repo:
+            myrepos.extend(my.repos.findRepos(glob))
+        
+        # disable them all
+        for repo in my.repos.repos.values():
+            repo.disable()
+        
+        # enable the ones we like
+        for repo in myrepos:
+            repo.enable()
+    
+    my.doRepoSetup()
+    archlist = None
+    if opts.source:
+        archlist = ['src']
+
+    my.doSackSetup(archlist=archlist)
+
     avail = my.pkgSack.returnPackages()
     toDownload = []
 




More information about the Yum-cvs-commits mailing list