X-Git-Url: https://git.ucc.asn.au/?p=zanchey%2Fdispense2.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=9792c564d868535c7f21b72979dcfab0bea4491f;hp=c93fda021a782d0cbbee1444ab9048596f8a7523;hb=9da23e11388f05dba1503b89f80e9c1ed50f68cb;hpb=bf6527c2a53d2cdbc7f721006a62cbff377f9ff8 diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index c93fda0..9792c56 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -17,6 +17,7 @@ from MessageKeeper import MessageKeeper from HorizScroll import HorizScroll from random import random, seed from Idler import GreetingIdler,TrainIdler,GrayIdler,StringIdler,ClockIdler,FortuneIdler,FileIdler,PipeIdler +from SnackConfig import get_snacks, get_snack import socket from posix import geteuid @@ -105,8 +106,19 @@ def scroll_options(username, mk, welcome = False): (slot_num, price, slot_name) = c.split(' ', 2) if slot_name == 'dead': continue choices += '%s8-%s (%sc) '%(slot_num, slot_name, price) + +# we don't want to print snacks for now since it'll be too large +# and there's physical bits of paper in the machine anyway - matt +# try: +# snacks = get_snacks() +# except: +# snacks = {} +# +# for slot, ( name, price ) in snacks.items(): +# choices += '%s8-%s (%sc) ' % ( slot, name, price ) + choices += '55-DOOR ' - choices += 'OR A SNACK. ' + choices += 'OR ANOTHER SNACK. ' choices += '99 TO READ AGAIN. ' choices += 'CHOICE? ' msg.append((choices, False, None)) @@ -396,8 +408,14 @@ def make_selection(v, vstatus): else: v.display('GOT COKE!') else: - v.display(vstatus.cur_selection+' - $1.00') - if ((os.system('su - "%s" -c "dispense snack"'%(vstatus.username)) >> 8) == 0): + # first see if it's a named slot + try: + price, shortname, name = get_snack( vstatus.cur_selection ) + except: + price, shortname, name = get_snack( '--' ) + dollarprice = "$%.2f" % ( price / 100.0 ) + v.display(vstatus.cur_selection+' - %s'%dollarprice) + if ((os.system('su - "%s" -c "dispense %s"'%(vstatus.username, shortname)) >> 8) == 0): v.vend(vstatus.cur_selection) v.display('THANK YOU') else: