if USE_DB: import pg
from time import time, sleep
from popen2 import popen2
-#from LATClient import LATClient, LATClientException
+from LATClient import LATClient, LATClientException
from SerialClient import SerialClient, SerialClientException
from VendingMachine import VendingMachine, VendingException
from MessageKeeper import MessageKeeper
if len(cur_pin) == PIN_LENGTH and mk.done() and time_to_autologout == None:
# start autologout
time_to_autologout = time() + 15
+ last_timeout_refresh = None
if time_to_idle == None and cur_user == '':
time_to_idle = time() + 5
continue
elif cur_selection[1] == '8':
v.display('GOT COKE?')
- os.system('su - "%s" -c "dispense %s"'%(username, cur_selection[0]))
+ if ((os.system('su - "%s" -c "dispense %s"'%(username, cur_selection[0])) >> 8) != 0):
+ v.display('SEEMS NOT')
+ else:
+ v.display('GOT COKE!')
else:
- v.display('HERES A '+cur_selection)
- v.vend(cur_selection)
- sleep(0.5)
- v.display('THANK YOU')
- sleep(0.5)
+ v.display(cur_selection+' - $1.00')
+ if ((os.system('su - "%s" -c "dispense snack"'%(username)) >> 8) == 0):
+ v.vend(cur_selection)
+ v.display('THANK YOU')
+ else:
+ v.display('NO MONEY?')
+ sleep(1)
cur_selection = ''
time_to_autologout = time() + 8
+ last_timeout_refresh = None
def connect_to_vend(options, cf):
- # Open vending machine via serial.
- logging.info('Connecting to vending machine using serial')
- serialclient = SerialClient(port = '/dev/ttyS1', baud = 9600)
- return serialclient.get_fh()
-
+
if options.use_lat:
logging.info('Connecting to vending machine using LAT')
latclient = LATClient(service = cf.ServiceName, password = cf.ServicePassword, server_name = cf.ServerName, connect_password = cf.ConnectPassword, priv_password = cf.PrivPassword)
rfh, wfh = latclient.get_fh()
+ elif options.use_serial:
+ # Open vending machine via serial.
+ logging.info('Connecting to vending machine using serial')
+ serialclient = SerialClient(port = '/dev/ttyS1', baud = 9600)
+ rfh,wfh = serialclient.get_fh()
else:
#(rfh, wfh) = popen2('../../virtualvend/vvend.py')
logging.info('Connecting to virtual vending machine on %s:%d'%(options.host,options.port))
op = OptionParser(usage="%prog [OPTION]...")
op.add_option('-f', '--config-file', default='/etc/dispense/servers.conf', metavar='FILE', dest='config_file', help='use the specified config file instead of /etc/dispense/servers.conf')
- op.add_option('--virtualvend', action='store_false', default=True, dest='use_lat', help='use the virtual vending server instead of LAT')
+ op.add_option('--serial', action='store_true', default=True, dest='use_serial', help='use the serial port')
+ op.add_option('--lat', action='store_true', default=False, dest='use_lat', help='use LAT')
+ op.add_option('--virtualvend', action='store_false', default=True, dest='use_serial', help='use the virtual vending server instead of LAT')
op.add_option('-n', '--hostname', dest='host', default='localhost', help='the hostname to connect to for virtual vending machine mode (default: localhost)')
op.add_option('-p', '--port', dest='port', default=5150, type='int', help='the port number to connect to (default: 5150)')
op.add_option('-l', '--log-file', metavar='FILE', dest='log_file', default='', help='log output to the specified file')