X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=b1274da166b66bde6e4101c8481daf09a4a2bca2;hp=c48d2bc0987f8117c357c654354b5842b0b57fb1;hb=9d0ded5f23bc018667005ac79a86ec916cd9fc1d;hpb=a640e08962027cc2e3a128b6ff9a5ec8faaea0cd;ds=sidebyside diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index c48d2bc..b1274da 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -1,8 +1,10 @@ #!/usr/bin/python # vim:ts=4 +USE_DB = 0 + import sys, os, string, re, pwd -import pg +if USE_DB: import pg from time import time, sleep from popen2 import popen2 from LATClient import LATClient @@ -54,8 +56,13 @@ def scroll_options(username, mk, welcome = False): else: msg = [] choices = ' '*10+'CHOICES: ' - coke_machine = file('/home/other/coke/coke_contents') - cokes = coke_machine.readlines() + try: + coke_machine = file('/home/other/coke/coke_contents') + cokes = coke_machine.readlines() + coke_machine.close() + except: + cokes = [] + pass for c in cokes: c = c.strip() (slot_num, price, slot_name) = c.split(' ', 2) @@ -63,7 +70,8 @@ def scroll_options(username, mk, welcome = False): choices += '%s8-%s (%sc) '%(slot_num, slot_name, price) choices += '55-DOOR ' choices += 'OR A SNACK. ' - choices += '99 TO READ AGAIN.' + choices += '99 TO READ AGAIN. ' + choices += 'CHOICE? ' msg.append((choices, False, None)) mk.set_messages(msg) @@ -140,7 +148,7 @@ class MessageKeeper: if len(self.scrolling_message[0][0]) > 10: (m, r, t) = self.scrolling_message[0] a = [] - exp = HorizScroll(m).expand(padding = 10) + exp = HorizScroll(m).expand(padding = 0, wraparound = False) if t == None: t = 0.1 else: @@ -186,7 +194,7 @@ if __name__ == '__main__': v = VendingMachine(rfh, wfh) print 'PING is', v.ping() - db = DispenseDatabase(v, DBServer, DBName, DBUser, DBPassword) + if USE_DB: db = DispenseDatabase(v, DBServer, DBName, DBUser, DBPassword) cur_user = '' cur_pin = '' cur_selection = '' @@ -197,13 +205,14 @@ if __name__ == '__main__': last_timeout_refresh = None while True: - db.handle_events() + if USE_DB: db.handle_events() if logout_timeout != None: time_left = logout_timeout - time() - if time_left < 10 and (last_timeout_refresh > time_left or last_timeout_refresh is None): + if time_left < 5 and (last_timeout_refresh is None or last_timeout_refresh > time_left): mk.set_message('LOGOUT: '+str(int(time_left))) last_timeout_refresh = int(time_left) + cur_selection = '' if logout_timeout != None and logout_timeout - time() <= 0: logout_timeout = None @@ -213,9 +222,9 @@ if __name__ == '__main__': mk.set_message(GREETING) if logout_timeout and not mk.done(): logout_timeout = None - if cur_user and cur_pin and mk.done() and logout_timeout == None: + if len(cur_pin) == PIN_LENGTH and mk.done() and logout_timeout == None: # start autologout - logout_timeout = time() + 10 + logout_timeout = time() + 15 mk.update_display() @@ -300,6 +309,7 @@ if __name__ == '__main__': elif len(cur_selection) == 1: if key == 11: cur_selection = '' + logout_timeout = None scroll_options(username, mk) continue else: