Grabbing user input in the %pre section using the python snack library

Matt Rose mrose at n-able.com
Thu Nov 5 13:52:01 UTC 2009


you can kick off a %pre in python using the --interpreter flag.  I just 
use the vt5 for feedback, so I just issue

os.system("chvt 5")

and write to /dev/tty5 directly, but I'm sure you could manipulate 
sys.stdout, and sys.stderr

Matt

Glenn Bailey wrote:
> Howdy folks,
>
> I've been beating my head trying to get this darn thing to work. I can easily grab user input via straight shell in the following example:
>
> %pre
> chvt 3
> exec </dev/tty3 >/dev/tty3 2>/dev/tty3
> echo -n "Enter the hostname: "
> read HOSTNAME
> echo "You entered: $HOSTNAME"
>
> But, what I am trying to do is use the python snack library, and I'm having no luck. I couldn't find a pure python solution, so I tried some tricks and came up with the following:
>
> %pre
> chvt 3
> exec </dev/tty3 >/dev/tty3 2>/dev/tty3
> /usr/bin/python <<EOF
>
> import os, sys
> from snack import *
>
> title = "Linux Build"
> buttons = ['Ok', 'Cancel']
> width = 40
> help = "None"
> textItems = "Hello!"
> text = "Confirm options"
> screen = SnackScreen()
> ButtonChoiceWindow(screen, title, textItems, ['Start Build', 'Re-input Items'],
>                    width, 0,0,help)
> screen.finish()
>
> EOF
>
> Which will display the screen, but it still takes input from tty1. Any ideas to WTH is going on? Looking through the archives I found some pure python examples, but they did nada fer me .. I'd take a solution in shell or python as long as it works ;-)
>
> _______________________________________________
> Kickstart-list mailing list
> Kickstart-list at redhat.com
> https://www.redhat.com/mailman/listinfo/kickstart-list
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/kickstart-list/attachments/20091105/221b91e7/attachment.htm>


More information about the Kickstart-list mailing list