equal
deleted
inserted
replaced
26 class Econn(Exception): pass |
26 class Econn(Exception): pass |
27 |
27 |
28 def encode_int(i): |
28 def encode_int(i): |
29 return chr((i/256)%256) + chr(i%256) |
29 return chr((i/256)%256) + chr(i%256) |
30 |
30 |
31 def encode_str(str): |
31 def encode_str(s): |
32 return encode_int(len(str)) + str |
32 s = str(s) |
|
33 return encode_int(len(s)) + s |
33 |
34 |
34 class Command: |
35 class Command: |
35 def __init__(self, name, args): |
36 def __init__(self, name, args): |
36 self.name = name |
37 self.name = name |
37 self.args = args |
38 self.args = args |
57 def read_response_noraise(self): |
58 def read_response_noraise(self): |
58 try: |
59 try: |
59 reply = self.socket.recv(3) |
60 reply = self.socket.recv(3) |
60 code = ord(reply[0]) |
61 code = ord(reply[0]) |
61 msglen = ord(reply[1])*256 + ord(reply[2]) |
62 msglen = ord(reply[1])*256 + ord(reply[2]) |
62 message = self.socket.recv(msglen) |
63 if msglen: |
|
64 message = self.socket.recv(msglen) |
|
65 else: |
|
66 message = "" |
63 except: |
67 except: |
64 return (econn, 'Server aborted the connection') |
68 return (econn, 'Server aborted the connection') |
65 return (code, message) |
69 return (code, message) |
66 |
70 |
67 def read_response(self): |
71 def read_response(self): |