[yum-cvs] yum shell.py,1.8,1.9

Seth Vidal skvidal at login.linux.duke.edu
Sun Mar 27 09:13:24 UTC 2005


Update of /home/groups/yum/cvs/yum
In directory login:/tmp/cvs-serv15000

Modified Files:
	shell.py 
Log Message:

change semantic for repos commands in shell, add in list functionality:

yum shell:
   repos list - lists repositories and their states
   repos enable <repolist> - enables a list of repositories (space
                             separated)
   repos disable <repolisT> - disables a list of repositories (space
                              separated)


Index: shell.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/shell.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- shell.py	27 Mar 2005 08:46:28 -0000	1.8
+++ shell.py	27 Mar 2005 09:13:22 -0000	1.9
@@ -59,9 +59,11 @@
     
     def do_help(self, arg):
         msg = """
-    commands:  update, install, info, remove, list, clean, provides, search,
-    check-update, groupinstall, groupupdate, grouplist, groupinfo, groupremove,
-    makecache, localinstall, transaction, run, quit, exit
+    commands:  check-update, clean, disablerepo, enablerepo,
+               exit, groupinfo, groupinstall, grouplist,
+               groupremove, groupupdate, info, install, list,
+               listrepos, localinstall, makecache, provides, quit,
+               remove, run, search, transaction, update
     """
         if arg in ['transaction', 'ts']:
             msg = """
@@ -71,7 +73,14 @@
       solve: run the dependency solver on the transaction
       run: run the transaction
                   """
-
+        elif arg in ['repos', 'repositories']:
+            msg = """
+    repos arg [option]
+      list: lists repositories and their status
+      enable: enable repositories. option = repository id
+      disable: disable repositories. option = repository id
+    """
+    
         self.base.log(1, msg)
         
     def do_EOF(self, line):
@@ -91,10 +100,7 @@
 
     def do_transaction(self, line):
         (cmd, args, line) = self.parseline(line)
-        if cmd is None:
-            pass
-            
-        elif cmd == 'list':
+        if cmd in ['list', None]:
             self.base.log(2,self.base.listTransaction())
         
         elif cmd == 'reset':
@@ -114,41 +120,53 @@
         else:
             self.do_help('transaction')
     
-    def do_enablerepo(self, line):
-        line = line.replace('\n', '')
-        repos = line.split()
-        for repo in repos:
-            try:
-                changed = self.base.repos.enableRepo(repo)
-            except yum.Errors.ConfigError, e:
-                self.base.errorlog(0, e)
-            else:
-                for repoid in changed:
-                    self.base.doRepoSetup(thisrepo=repoid)
-                
-                if hasattr(self.base, 'up'): # reset the updates
-                    del self.base.up
-
-
-    def do_disablerepo(self, line):
-        line = line.replace('\n', '')
-        repos = line.split()
-        for repo in repos:
-            try:
-                self.base.repos.disableRepo(repo)
-            except yum.Errors.ConfigError, e:
-                self.base.errorlog(0, e)
-
-            else:
-                if hasattr(self.base, 'pkgSack'): # kill the pkgSack
-                    del self.base.pkgSack
-                    self.base.repos._selectSackType()
-                if hasattr(self.base, 'up'): # reset the updates
-                    del self.base.up
-                # reset the transaction set and refresh everything
-                self.base.closeRpmDB() 
-                self.base.doTsSetup()
-                self.base.doRpmDBSetup()
+    def do_repositories(self, line):
+        self.do_repos(line)
+        
+    def do_repos(self, line):
+        (cmd, args, line) = self.parseline(line)
+        if cmd in ['list', None]:
+            for repo in self.base.repos.repos.values():
+                if repo in self.base.repos.listEnabled():
+                    self.base.log('%-20.20s %-40.40s  enabled' % (repo, repo.name))
+                else:
+                    self.base.log('%-20.20s %-40.40s  disabled' % (repo, repo.name))
+        
+        elif cmd == 'enable':
+            repos = args.split()
+            for repo in repos:
+                try:
+                    changed = self.base.repos.enableRepo(repo)
+                except yum.Errors.ConfigError, e:
+                    self.base.errorlog(0, e)
+                else:
+                    for repoid in changed:
+                        self.base.doRepoSetup(thisrepo=repoid)
+                    
+                    if hasattr(self.base, 'up'): # reset the updates
+                        del self.base.up
+            
+        elif cmd == 'disable':
+            repos = args.split()
+            for repo in repos:
+                try:
+                    self.base.repos.disableRepo(repo)
+                except yum.Errors.ConfigError, e:
+                    self.base.errorlog(0, e)
+    
+                else:
+                    if hasattr(self.base, 'pkgSack'): # kill the pkgSack
+                        del self.base.pkgSack
+                        self.base.repos._selectSackType()
+                    if hasattr(self.base, 'up'): # reset the updates
+                        del self.base.up
+                    # reset the transaction set and refresh everything
+                    self.base.closeRpmDB() 
+                    self.base.doTsSetup()
+                    self.base.doRpmDBSetup()
+        
+        else:
+            self.do_help('repos')
                 
     def do_test(self, line):
         (cmd, args, line) = self.parseline(line)




More information about the Yum-cvs-commits mailing list