X-Git-Url: https://git.ucc.asn.au/?p=zanchey%2Fdispense2.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendingMachine.py;h=4a409221a536f2fed9dbef3273775c7ef7a56218;hp=9fe524519e7666579c09245f6110fbcc0050fe24;hb=a8e66437967941cd59b3da7461a8b99a0d1bb2e6;hpb=753f7f6d9b81b406cdb9b5d48fbbf2005fead1a7 diff --git a/sql-edition/servers/VendingMachine.py b/sql-edition/servers/VendingMachine.py index 9fe5245..4a40922 100644 --- a/sql-edition/servers/VendingMachine.py +++ b/sql-edition/servers/VendingMachine.py @@ -2,6 +2,7 @@ import re from CRC import do_crc from select import select +import socket, logging asynchronous_responses = [ '400', '401', # door open/closed '610', # switches changed @@ -41,7 +42,6 @@ class VendingMachine: try: s = self.rfh.read(1) except socket.error: - print "Blah, seems DEC server has fallen over" raise VendingException('failed to read input from vending machine') if s == '': raise VendingException('nothing read!') if s == '\n' or s == '\r': @@ -62,7 +62,8 @@ class VendingMachine: s = '' while s == '': s = self.rfh.readline() - if s == '': return None + if s == '': + raise VendingException('Input socket has closed!') s = s.strip('\r\n') code = s[0:3] text = s[4:] @@ -95,7 +96,7 @@ class VendingMachine: elif code[0] == '2': self.events.append((KEY, int(code[1:3]))) else: - sys.stderr.write('WARNING: Unhandled event! (%s %s)\n'%(code,text)) + logging.warning('Unhandled event! (%s %s)\n'%(code,text)) def authed_message(self, message): if self.challenge == None: