X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FLATClient.py;h=2603ce9cafa14e032e0efee086f0fbf575c7f57b;hp=362a452ea9e0d0fe05ad4dd9146f83d81bd98efb;hb=ddbc951719d0798a96355931cf5077b6de8d94aa;hpb=a1f84706e31c65738e52ee1405fa8e54f4e2407b diff --git a/sql-edition/servers/LATClient.py b/sql-edition/servers/LATClient.py index 362a452..2603ce9 100644 --- a/sql-edition/servers/LATClient.py +++ b/sql-edition/servers/LATClient.py @@ -10,6 +10,8 @@ LATCP_CMD_VERSION = 8 LATCP_CMD_TERMINALSESSION = 26 LATCP_CMD_ERRORMSG = 99 +class LATClientException(Exception): pass + class LATClient: def __init__(self, service = None, node = None, port = None, localport = None, password = None, is_queued = False, @@ -42,11 +44,14 @@ class LATClient: )) (cmd, msg) = self.read_reply() if ord(cmd) == LATCP_CMD_ERRORMSG: - raise Exception('LATClient: '+msg) + raise LATClientException(msg) + + self.rfh = self.sock.makefile('r') + self.wfh = self.sock.makefile('w') - r = select([self.sock], [], [], 2.0)[0] + r = select([self.rfh], [], [], 2.0)[0] if r: - l = self.sock.readline() + l = self.rfh.readline() if l.find('Service in use') >= 0: print "Service in use, apparently: restarting DEC server" self.reboot_server() @@ -73,8 +78,11 @@ class LATClient: mop.write(self.priv_password+'\n') mop.write('init del 0\n') mop.close() + print print "Waiting 10 seconds for DEC server to come back to life..." sleep(10) + print "Rightyo, back to vending!" + print def read_reply(self): head = self.sock.recv(3) @@ -89,4 +97,4 @@ class LATClient: return (cmd, msg) def get_fh(self): - return (self.sock.makefile('r'), self.sock.makefile('w')) + return (self.rfh, self.wfh)