summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Client
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2013-05-13 10:07:14 -0500
committerSol Jerome <sol.jerome@gmail.com>2013-05-13 10:07:14 -0500
commit7b1a1e45641bc6283d9db3b0f76a7ca6bf6fc871 (patch)
tree743a5b9e5acf4ba77a55db250a6a644caf962a1e /src/lib/Bcfg2/Client
parent59f85e6da78d2192274b49216cbefdced7a24ab6 (diff)
downloadbcfg2-7b1a1e45641bc6283d9db3b0f76a7ca6bf6fc871.tar.gz
bcfg2-7b1a1e45641bc6283d9db3b0f76a7ca6bf6fc871.tar.bz2
bcfg2-7b1a1e45641bc6283d9db3b0f76a7ca6bf6fc871.zip
Client: Fix interactive prompt
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Bcfg2/Client')
-rw-r--r--src/lib/Bcfg2/Client/Frame.py10
-rw-r--r--src/lib/Bcfg2/Client/__init__.py2
2 files changed, 2 insertions, 10 deletions
diff --git a/src/lib/Bcfg2/Client/Frame.py b/src/lib/Bcfg2/Client/Frame.py
index e7f9b401e..b7c3f7145 100644
--- a/src/lib/Bcfg2/Client/Frame.py
+++ b/src/lib/Bcfg2/Client/Frame.py
@@ -9,14 +9,6 @@ from Bcfg2.Client import prompt
from Bcfg2.Compat import any, all, cmp # pylint: disable=W0622
-def cmpent(ent1, ent2):
- """Sort entries."""
- if ent1.tag != ent2.tag:
- return cmp(ent1.tag, ent2.tag)
- else:
- return cmp(ent1.get('name'), ent2.get('name'))
-
-
def matches_entry(entryspec, entry):
""" Determine if the Decisions-style entry specification matches
the entry. Both are tuples of (tag, name). The entryspec can
@@ -155,7 +147,7 @@ class Frame(object):
def promptFilter(self, msg, entries):
"""Filter a supplied list based on user input."""
ret = []
- entries.sort(cmpent)
+ entries.sort(key=lambda e: e.tag + ":" + e.get('name'))
for entry in entries[:]:
if entry in self.unhandled:
# don't prompt for entries that can't be installed
diff --git a/src/lib/Bcfg2/Client/__init__.py b/src/lib/Bcfg2/Client/__init__.py
index e40ef750b..3bc261f2f 100644
--- a/src/lib/Bcfg2/Client/__init__.py
+++ b/src/lib/Bcfg2/Client/__init__.py
@@ -19,7 +19,7 @@ def prompt(msg):
while len(select.select([sys.stdin.fileno()], [], [], 0.0)[0]) > 0:
os.read(sys.stdin.fileno(), 4096)
try:
- ans = input(msg.encode(sys.stdout.encoding, 'replace'))
+ ans = input(msg)
return ans in ['y', 'Y']
except EOFError:
# python 2.4.3 on CentOS doesn't like ^C for some reason