[yum-cvs] yum cli.py, 1.267, 1.268 shell.py, 1.38, 1.39 yumcommands.py, 1.3, 1.4

James Bowes jbowes at linux.duke.edu
Wed May 2 23:19:34 UTC 2007


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

Modified Files:
	cli.py shell.py yumcommands.py 
Log Message:
Add repolist command.

This is just the 'repo list' yum shell command. 'repo list' now calls the
repolist command instead.


Index: cli.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/cli.py,v
retrieving revision 1.267
retrieving revision 1.268
diff -u -r1.267 -r1.268
--- cli.py	26 Apr 2007 23:22:38 -0000	1.267
+++ cli.py	2 May 2007 23:19:32 -0000	1.268
@@ -80,6 +80,7 @@
         self.registerCommand(yumcommands.ResolveDepCommand())
         self.registerCommand(yumcommands.ShellCommand())
         self.registerCommand(yumcommands.DepListCommand())
+        self.registerCommand(yumcommands.RepoListCommand())
 
     def registerCommand(self, command):
         for name in command.getNames():

Index: shell.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/shell.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- shell.py	7 Mar 2007 22:07:58 -0000	1.38
+++ shell.py	2 May 2007 23:19:32 -0000	1.39
@@ -241,20 +241,20 @@
     def do_repo(self, line):
         (cmd, args, line) = self.parseline(line)
         if cmd in ['list', None]:
-            format_string = "%-20.20s %-40.40s  %s"
-            if self.base.repos.repos.values():
-                self.verbose_logger.log(logginglevels.INFO_2, format_string,
-                    'repo id', 'repo name', 'status')
-            repos = self.base.repos.repos.values()
-            repos.sort()
-            for repo in repos:
-                if repo in self.base.repos.listEnabled() and args in ('', 'enabled'):
-                    self.verbose_logger.log(logginglevels.INFO_2, format_string,
-                        repo, repo.name, 'enabled')
-                elif args in ('', 'disabled'):
-                    self.verbose_logger.log(logginglevels.INFO_2, format_string,
-                        repo, repo.name, 'disabled')
-        
+            # Munge things to run the repolist command
+            cmds = self._shlex_split(args)
+            if not cmds:
+                cmds = ['all']
+            cmds.insert(0, 'repolist')
+            self.base.cmds = cmds
+
+            try:
+                self.base.parseCommands()
+            except Errors.YumBaseError:
+                pass
+            else:
+                self.base.doCommands()
+
         elif cmd == 'enable':
             repos = self._shlex_split(args)
             for repo in repos:

Index: yumcommands.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yumcommands.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- yumcommands.py	22 Jan 2007 04:33:22 -0000	1.3
+++ yumcommands.py	2 May 2007 23:19:32 -0000	1.4
@@ -414,3 +414,40 @@
           return 1, [str(e)]
 
 
+class RepoListCommand:
+    usage = 'repolist [all|enabled|disabled]'
+
+    def getNames(self):
+        return ('repolist',)
+
+    def getUsage(self):
+        return usage
+
+    def doCheck(self, base, basecmd, extcmds):
+        if len(extcmds) == 0:
+            return
+        elif len(extcmds) > 1 or extcmds[0] not in ('all', 'disabled',
+                'enabled'):
+            raise cli.CliError
+
+    def doCommand(self, base, basecmd, extcmds):
+        if len(extcmds) == 1:
+            arg = extcmds[0]
+        else:
+            arg = 'enabled'
+
+        format_string = "%-20.20s %-40.40s  %s"
+        if base.repos.repos.values():
+            base.verbose_logger.log(logginglevels.INFO_2, format_string,
+                'repo id', 'repo name', 'status')
+        repos = base.repos.repos.values()
+        repos.sort()
+        for repo in repos:
+            if repo in base.repos.listEnabled() and arg in ('all', 'enabled'):
+                base.verbose_logger.log(logginglevels.INFO_2, format_string,
+                    repo, repo.name, 'enabled')
+            elif arg in ('all', 'disabled'):
+                base.verbose_logger.log(logginglevels.INFO_2, format_string,
+                    repo, repo.name, 'disabled')
+
+        return 0, []




More information about the Yum-cvs-commits mailing list