X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=sql-edition%2Fservers%2FVendingMachine.py;h=7a06111732531f9b6bc1037d97531878856d54a6;hb=fb54b540bdce8da94ec98ff78b62e390c69f18aa;hp=709b90f29ae61c0cae9e4f055d481592701635d7;hpb=9121df4fc1cb21d36ade2605a88d87bdeb7dd72e;p=uccvend-vendserver.git diff --git a/sql-edition/servers/VendingMachine.py b/sql-edition/servers/VendingMachine.py index 709b90f..7a06111 100644 --- a/sql-edition/servers/VendingMachine.py +++ b/sql-edition/servers/VendingMachine.py @@ -3,6 +3,7 @@ import re from CRC import do_crc from select import select import socket, logging +from time import time, sleep asynchronous_responses = [ '400', '401', # door open/closed '610', # switches changed @@ -12,6 +13,7 @@ asynchronous_responses = [ '400', '401', # door open/closed DOOR = 1 SWITCH = 2 KEY = 3 +TICK = 4 class VendingException(Exception): pass @@ -144,6 +146,7 @@ class VendingMachine: def display(self, string): if len(string) > 10: string = string[0:10] + string = re.sub('(.)\.', lambda match: '.'+match.group(1), string) self.wfh.write('D'+string+'\n') (code, string) = self.get_response() return (code == '300', code, string) @@ -159,7 +162,7 @@ class VendingMachine: timeout = 0 else: break - if len(self.events) == 0: return None + if len(self.events) == 0: return (TICK, time()) ret = self.events[0] del self.events[0] return ret