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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list
  
_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list

[Index of Archives]     [Red Hat General]     [CentOS Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux