X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=22958bd7a55d678ed58da67cad8ed6c360646bdc;hb=914a96030cc94ddb52fad22cf13c48973e737a76;hp=19d3a3043b0e743588e69dd670c543aedcab151c;hpb=fb54b540bdce8da94ec98ff78b62e390c69f18aa;p=uccvend-vendserver.git diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index 19d3a30..22958bd 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -54,6 +54,7 @@ STATE_GET_SELECTION = 6 STATE_GRANDFATHER_CLOCK = 7 TEXT_SPEED = 0.8 +IDLE_SPEED = 0.02 class DispenseDatabaseException(Exception): pass @@ -89,7 +90,7 @@ class DispenseDatabase: def scroll_options(username, mk, welcome = False): if welcome: msg = [(center('WELCOME'), False, TEXT_SPEED), - (center(username), False, TEXT_SPEEd)] + (center(username), False, TEXT_SPEED)] else: msg = [] choices = ' '*10+'CHOICES: ' @@ -126,8 +127,8 @@ def get_pin(uid): logging.info('getting pin for uid %d: .pin not found in home directory'%uid) return None if s.st_mode & 077: - logging.info('getting pin for uid %d: .pin has wrong permissions'%uid) - return None + logging.info('getting pin for uid %d: .pin has wrong permissions. Fixing.'%uid) + os.chmod(pinfile, 0600) try: f = file(pinfile) except IOError: @@ -235,6 +236,7 @@ def idle_step(): global idler if idler.finished(): choose_idler() + sleep(IDLE_SPEED) idler.next() class VendState: @@ -708,11 +710,9 @@ def run_forever(rfh, wfh, options, cf): if USE_DB: db = DispenseDatabase(v, cf.DBServer, cf.DBName, cf.DBUser, cf.DBPassword) - vstatus.mk.set_message(GREETING) setup_idlers(v) choose_idler() - vstatus.mk.set_message("Booted") - + vstatus.mk.set_message(GREETING) # This main loop was hideous and the work of the devil. # This has now been fixed (mostly) - mtearle