USE_DB = 0
import ConfigParser
-import sys, os, string, re, pwd
+import sys, os, string, re, pwd, signal
+from traceback import print_tb
if USE_DB: import pg
from time import time, sleep
from popen2 import popen2
from random import random, seed
from Idler import TrainIdler,GrayIdler
import socket
-from traceback import print_tb
+from posix import geteuid
GREETING = 'UCC SNACKS'
PIN_LENGTH = 4
# XXX this should move somewhere else:
if cur_selection == '55':
mk.set_message('OPENSESAME')
- ret = os.system('su - "%s" -c "dispense door"'%username)
+ if geteuid() == 0:
+ ret = os.system('su - "%s" -c "dispense door"'%username)
+ else:
+ ret = os.system('dispense door')
if ret == 0:
mk.set_message(center('DOOR OPEN'))
else:
print
print "Connection died, trying again..."
-
if __name__ == '__main__':
+ def do_nothing(signum, stack): pass
+ def stop_server(signum, stack): raise KeyboardInterrupt
+ signal.signal(signal.SIGHUP, do_nothing)
+ signal.signal(signal.SIGTERM, stop_server)
+ signal.signal(signal.SIGINT, stop_server)
while True:
try:
do_vend_server()
except KeyboardInterrupt:
- print "Killed by SIGINT."
+ print "Killed by signal."
break
except:
(exc_type, exc_value, exc_traceback) = sys.exc_info()