can't readline from a socket
[uccvend-vendserver.git] / sql-edition / servers / LATClient.py
index 362a452..2603ce9 100644 (file)
@@ -10,6 +10,8 @@ LATCP_CMD_VERSION = 8
 LATCP_CMD_TERMINALSESSION = 26
 LATCP_CMD_ERRORMSG = 99
 
 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,
 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:
                         ))
                (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:
                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()
                        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()
                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 "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)
 
        def read_reply(self):
                head = self.sock.recv(3)
@@ -89,4 +97,4 @@ class LATClient:
                return (cmd, msg)
        
        def get_fh(self):
                return (cmd, msg)
        
        def get_fh(self):
-               return (self.sock.makefile('r'), self.sock.makefile('w'))
+               return (self.rfh, self.wfh)

UCC git Repository :: git.ucc.asn.au