print "/usr/local/lib/python2.2/site-packages/"
sys.exit(1)
+import pango
+
+class Switches:
+ def __init__(self):
+ self.misc_input = 0xff
+ self.switch_input = 0x3f
+ def door_open(self):
+ return self.switch_input & 0x20
+ def set_door_open(self, open = True):
+ if open:
+ self.switch_input |= 0x20
+ else:
+ self.switch_input &= ~0x20
+
#now we have both gtk and gtk.glade imported
#Also, we know we are running GTK v2
"on_button9_clicked" : self.keypad_clicked,
"on_button10_clicked" : self.keypad_clicked,
"on_button11_clicked" : self.keypad_clicked,
+ "on_button11_clicked" : self.keypad_clicked,
+ "on_door_toggled" : self.door_changed,
"on_vvend_destroy_event" : self.quit,
"on_vvend_delete_event" : self.quit }
self.wTree.signal_autoconnect (dic)
display = self.wTree.get_widget("label1")
+ label_font = pango.FontDescription('monospace 28')
+ display.modify_font(label_font)
+
+ label_style = display.get_style().copy()
+ fg_color = display.get_colormap().alloc_color('lightgreen')
+ label_style.fg[gtk.STATE_NORMAL] = fg_color
+ display.set_style(label_style)
+
+ w = self.wTree.get_widget("eventbox1")
+ wstyle = w.get_style().copy()
+ bg_color = w.get_colormap().alloc_color('black')
+ wstyle.bg[gtk.STATE_NORMAL] = bg_color
+ w.set_style(wstyle)
+
display.set_text("*5N4CK0RZ*")
# vending machine password set here
self.vendpw = "AAAAAAAAAAAAAAAA"
self.messageid = None
+ self.switches = Switches()
#s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
key = '0'+key
self.do_send('2'+key+' keypress\n')
+ def door_changed(self, widget):
+ self.switches.set_door_open(not widget.get_active())
+ if widget.get_active():
+ self.do_send('401 door closed\n')
+ else:
+ self.do_send('400 door open\n')
+
def handleNewConnection(self,source,condition):
#source is a socket in GTK v 1 and a fd in version 2
conn, addr = source.accept()
gtk.input_remove(tag)
conn.close()
self.sock.close()
+ self.sock.shutdown()
gtk.mainquit()
sys.stdout.write("quit!\n")
def do_display(self,string):
display = self.wTree.get_widget("label1")
- display.set_text("%10.10s" % (string))
+ display.set_text("%-10.10s" % (string))
self.do_send('300 Written\n')
def do_beep(self,command):