Re: Default/editable string to raw_input
- From: "David Wahler" <dwahler@xxxxxxxxx>
- Date: 22 Mar 2006 07:09:41 -0800
Paraic Gallagher wrote:
Hi,
This is my first post to the list, I hope somebody can help me with this
problem. Apologies if it has been posted before but I have been internet
searching to no avail.
What I am trying to do is provide a simple method for a user to change a
config file, for a test suite.
The config file consists of a number of keys, eg. build number, target
device, etc.
What I would like to do is give the user a key, and the previous value
for that key.
The user can then accept the previous value or edit it on the line.
I have a method where the previous value of a key is presented to the
user and can be accepted if the user hits return. But as some of the
values are somewhat long, and the user may only need to change 1 or 2
characters, it would be a nice feature to offer line editing.
I can get the readline.set_pre_input_hook() function to send text after
a raw_input prompt, but this text cannot be edited.
With the disclaimer that, as others have said, this may not be the best
user-interface choice:
import readline
readline.set_startup_hook(lambda: readline.insert_text(old_value))
try:
new_value = raw_input()
finally:
readline.set_startup_hook(None)
Note that, among other issues, this isn't threadsafe (but then, you
really shouldn't be doing console I/O from multiple threads anyway).
Hope this helps.
-- David
.
- Follow-Ups:
- Re: Default/editable string to raw_input
- From: Paraic Gallagher
- Re: Default/editable string to raw_input
- References:
- Default/editable string to raw_input
- From: Paraic Gallagher
- Default/editable string to raw_input
- Prev by Date: reading binary data written in C
- Next by Date: Re: Server.sendmail with no "to_addrs" parameter.
- Previous by thread: Re: Default/editable string to raw_input
- Next by thread: Re: Default/editable string to raw_input
- Index(es):
Relevant Pages
|