Blob Blame History Raw
diff -uNr yum-2.4.2_orig/shell.py yum-2.4.2/shell.py
--- yum-2.4.2_orig/shell.py	2006-05-10 06:11:30.000000000 +0100
+++ yum-2.4.2/shell.py	2006-05-10 06:15:08.000000000 +0100
@@ -18,6 +18,7 @@
 import cmd
 import string
 import shlex
+import StringIO
 
 from yum import Errors
 from yum.constants import *
@@ -61,7 +62,7 @@
                 return False
             self.base.cmdstring = line
             self.base.cmdstring = self.base.cmdstring.replace('\n', '')
-            self.base.cmds = shlex.split(self.base.cmdstring)
+            self.base.cmds = self.shlex_split(self.base.cmdstring)
             try:
                 self.base.parseCommands()
             except Errors.YumBaseError:
@@ -153,7 +154,7 @@
         (cmd, args, line) = self.parseline(line)
         # logs
         if cmd in ['debuglevel', 'errorlevel']:
-            opts = shlex.split(args)
+            opts = self.shlex_split(args)
             if not opts:
                 self.base.log(2, '%s: %s' % (cmd, self.base.conf.getConfigOption(cmd)))
             else:
@@ -170,7 +171,7 @@
                     self.base.errorlog.threshold = val
         # bools
         elif cmd in ['gpgcheck', 'obsoletes', 'assumeyes']:
-            opts = shlex.split(args)
+            opts = self.shlex_split(args)
             if not opts:
                 self.base.log(2, '%s: %s' % (cmd, self.base.conf.getConfigOption(cmd)))
             else:
@@ -186,7 +187,7 @@
         
         elif cmd in ['exclude']:
             args = args.replace(',', ' ')
-            opts = shlex.split(args)
+            opts = self.shlex_split(args)
             if not opts:
                 msg = '%s: ' % cmd
                 msg = msg + string.join(self.base.conf.getConfigOption(cmd))
@@ -221,7 +222,7 @@
                     self.base.log(2, '%-20.20s %-40.40s  disabled' % (repo, repo.name))
         
         elif cmd == 'enable':
-            repos = shlex.split(args)
+            repos = self.shlex_split(args)
             for repo in repos:
                 try:
                     changed = self.base.repos.enableRepo(repo)
@@ -243,7 +244,7 @@
                         del self.base.up
             
         elif cmd == 'disable':
-            repos = shlex.split(args)
+            repos = self.shlex_split(args)
             for repo in repos:
                 try:
                     self.base.repos.disableRepo(repo)
@@ -298,3 +299,15 @@
                     self.base.doTsSetup()
                     self.base.doRpmDBSetup()
 
+    def shlex_split(self, s):
+        # hackery to bring a shlex.split sort of function into py2.2
+        s = StringIO.StringIO(s)
+        res = shlex.shlex(s)
+        result=[]
+        while 1:
+            tok = res.get_token()
+            if not tok:
+                break
+            result.append(tok)
+        return result
+