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