diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2013-05-13 10:07:14 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2013-05-13 10:07:14 -0500 |
commit | 7b1a1e45641bc6283d9db3b0f76a7ca6bf6fc871 (patch) | |
tree | 743a5b9e5acf4ba77a55db250a6a644caf962a1e /src | |
parent | 59f85e6da78d2192274b49216cbefdced7a24ab6 (diff) | |
download | bcfg2-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')
-rw-r--r-- | src/lib/Bcfg2/Client/Frame.py | 10 | ||||
-rw-r--r-- | src/lib/Bcfg2/Client/__init__.py | 2 |
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 |