|
|
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 |
+
|