X-Git-Url: https://git.ucc.asn.au/?p=zanchey%2Fdispense2.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=19a7e67cd971196672bdccf098b4c66f91df5ec8;hp=6d79b512e4dd11752afc15e05d241339cda2a27b;hb=753f7f6d9b81b406cdb9b5d48fbbf2005fead1a7;hpb=c8fdfd50de52c0f4ffd98a1960398dd02ee42a61 diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index 6d79b51..19a7e67 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -9,7 +9,6 @@ from time import time, sleep from popen2 import popen2 from LATClient import LATClient from VendingMachine import VendingMachine -from ConfigParser import ConfigParser from HorizScroll import HorizScroll from random import random, seed from Idler import TrainIdler,GrayIdler @@ -196,27 +195,7 @@ class MessageKeeper: def done(self): return len(self.scrolling_message) == 0 -if __name__ == '__main__': - cp = ConfigParser() - cp.read('/etc/dispense/servers.conf') - DBServer = cp.get('Database', 'Server') - DBName = cp.get('Database', 'Name') - DBUser = cp.get('VendingMachine', 'DBUser') - DBPassword = cp.get('VendingMachine', 'DBPassword') - - ServiceName = cp.get('VendingMachine', 'ServiceName') - ServicePassword = cp.get('VendingMachine', 'Password') - # Open vending machine via LAT - if 0: - latclient = LATClient(service = ServiceName, password = ServicePassword) - (rfh, wfh) = latclient.get_fh() - else: - #(rfh, wfh) = popen2('../../virtualvend/vvend.py') - import socket - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) - sock.connect(('localhost', 5150)) - rfh = sock.makefile('r') - wfh = sock.makefile('w') +def run_forever(rfh, wfh): v = VendingMachine(rfh, wfh) print 'PING is', v.ping() @@ -381,3 +360,42 @@ if __name__ == '__main__': sleep(0.5) cur_selection = '' time_to_autologout = time() + 8 + +if __name__ == '__main__': + from ConfigParser import ConfigParser + from optparse import OptionParser + + op = OptionParser(usage="%prog [OPTION]...") + op.add_option('-v', '--virtualvend', action='store_false', default=True, dest='use_lat', 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)') + (options, args) = op.parse_args() + + if len(args) != 0: + op.error('extra command line arguments: ' + ' '.join(args)) + + cp = ConfigParser() + cp.read('/etc/dispense/servers.conf') + DBServer = cp.get('Database', 'Server') + DBName = cp.get('Database', 'Name') + DBUser = cp.get('VendingMachine', 'DBUser') + DBPassword = cp.get('VendingMachine', 'DBPassword') + + ServiceName = cp.get('VendingMachine', 'ServiceName') + ServicePassword = cp.get('VendingMachine', 'Password') + + + +# # Open vending machine via LAT + if options.use_lat: + latclient = LATClient(service = ServiceName, password = ServicePassword) + (rfh, wfh) = latclient.get_fh() + else: + #(rfh, wfh) = popen2('../../virtualvend/vvend.py') + import socket + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) + sock.connect((options.host, options.port)) + rfh = sock.makefile('r') + wfh = sock.makefile('w') + + run_forever(rfh, wfh)