X-Git-Url: https://git.ucc.asn.au/?p=zanchey%2Fdispense2.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=b7176bef395158318a567c687338374125304323;hp=03a7bf5af44a5a9e23e2e769d776cbb8e7924e29;hb=1d49e3da21a39aaf981f59d0092daa181527c20d;hpb=db3c4220434abe14c04821da5d9f5196ac507096 diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index 03a7bf5..b7176be 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -10,13 +10,13 @@ from traceback import format_tb 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 from HorizScroll import HorizScroll from random import random, seed -from Idler import TrainIdler,GrayIdler,StringIdler,ClockIdler,FortuneIdler,FileIdler +from Idler import TrainIdler,GrayIdler,StringIdler,ClockIdler,FortuneIdler,FileIdler,PipeIdler import socket from posix import geteuid @@ -195,14 +195,17 @@ def setup_idlers(v): GrayIdler(v,one="*",zero="-"), StringIdler(v, text=CREDITS), GrayIdler(v,one="/",zero="\\"), - FileIdler(v, '/etc/passwd'), + ClockIdler(v), GrayIdler(v,one="X",zero="O"), FileIdler(v, '/usr/share/common-licenses/GPL-2'), GrayIdler(v,one="*",zero="-",reorder=1), StringIdler(v, text=str(math.pi) + " "), + ClockIdler(v), GrayIdler(v,one="/",zero="\\",reorder=1), StringIdler(v, text=str(math.e) + " "), GrayIdler(v,one="X",zero="O",reorder=1), + StringIdler(v, text=" I want some pizza - please call Pizza Hut Shenton Park on +61 8 9381 9979 - and order as Quinn - I am getting really hungry", repeat=False), + PipeIdler(v, "/usr/bin/ypcat", "passwd"), FortuneIdler(v), ClockIdler(v), StringIdler(v), @@ -424,15 +427,16 @@ def run_forever(rfh, wfh, options, cf): 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)) @@ -449,7 +453,9 @@ def parse_args(): 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')