[Yum-devel] [PATCH] Work around python readline braindamage, BZ 448864. Sickest hack ever.
James Antill
james at and.org
Mon Sep 13 16:17:53 UTC 2010
---
shell.py | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/shell.py b/shell.py
index a32e880..b22097c 100644
--- a/shell.py
+++ b/shell.py
@@ -74,6 +74,34 @@ class YumShell(cmd.Cmd):
raise Errors.YumBaseError, "Fatal error in script, exiting"
return inputs
+
+ def cmdloop(self, *args, **kwargs):
+ """ Sick hack for readline. """
+ global raw_input
+
+ oraw_input = raw_input
+ owriter = sys.stdout
+ _ostdout = owriter.stream
+
+ def _sick_hack_raw_input(*args, **kwargs):
+ sys.stdout = _ostdout
+ rret = oraw_input(*args, **kwargs)
+ sys.stdout = owriter
+
+ return rret
+ raw_input = _sick_hack_raw_input
+ sys.stdout = _ostdout
+
+ try:
+ cret = cmd.Cmd.cmdloop(self, *args, **kwargs)
+ except:
+ raw_input = oraw_inpaut
+ sys.stdout = owriter
+ raise
+
+ raw_input = oraw_input
+
+ return cret
def script(self):
try:
--
1.7.2
More information about the Yum-devel
mailing list