DebugClients/Python3/AsyncFile.py

branch
5_1_x
changeset 1215
7771ed33c963
parent 791
9ec2ac20e54e
child 1510
e75ecf2bd9dd
equal deleted inserted replaced
1209:9ca5500d99cb 1215:7771ed33c963
41 @param sock the socket object being wrapped 41 @param sock the socket object being wrapped
42 @param mode mode of this file (string) 42 @param mode mode of this file (string)
43 @param name name of this file (string) 43 @param name name of this file (string)
44 """ 44 """
45 # Initialise the attributes. 45 # Initialise the attributes.
46 self.__closed = False 46 self.closed = False
47 self.sock = sock 47 self.sock = sock
48 self.mode = mode 48 self.mode = mode
49 self.name = name 49 self.name = name
50 self.nWriteErrors = 0 50 self.nWriteErrors = 0
51
52 self.encoding = "utf-8"
53 self.line_buffering = True
54 self.errors = None
51 55
52 self.wpending = '' 56 self.wpending = ''
53 57
54 def __checkMode(self, mode): 58 def __checkMode(self, mode):
55 """ 59 """
96 """ 100 """
97 Public method to close the file. 101 Public method to close the file.
98 102
99 @param closeit flag to indicate a close ordered by the debugger code (boolean) 103 @param closeit flag to indicate a close ordered by the debugger code (boolean)
100 """ 104 """
101 if closeit and not self.__closed: 105 if closeit and not self.closed:
102 self.flush() 106 self.flush()
103 self.sock.close() 107 self.sock.close()
104 self.__closed = True 108 self.closed = True
105 109
106 def flush(self): 110 def flush(self):
107 """ 111 """
108 Public method to write all pending bytes. 112 Public method to write all pending bytes.
109 """ 113 """
126 try: 130 try:
127 return self.sock.fileno() 131 return self.sock.fileno()
128 except socket.error: 132 except socket.error:
129 return -1 133 return -1
130 134
135 def readable(self):
136 """
137 Public method to check, if the stream is readable.
138
139 @return flag indicating a readable stream (boolean)
140 """
141 return self.mode == "r"
142
131 def read_p(self, size = -1): 143 def read_p(self, size = -1):
132 """ 144 """
133 Public method to read bytes from this file. 145 Public method to read bytes from this file.
134 146
135 @param size maximum number of bytes to be read (int) 147 @param size maximum number of bytes to be read (int)
228 line = input() + '\n' 240 line = input() + '\n'
229 if sizehint >= 0: 241 if sizehint >= 0:
230 line = line[:sizehint] 242 line = line[:sizehint]
231 return line 243 return line
232 244
245 def seekable(self):
246 """
247 Public method to check, if the stream is seekable.
248
249 @return flag indicating a seekable stream (boolean)
250 """
251 return False
252
233 def seek(self, offset, whence = 0): 253 def seek(self, offset, whence = 0):
234 """ 254 """
235 Public method to move the filepointer. 255 Public method to move the filepointer.
236 256
237 @param offset offset to move the filepointer to (integer) 257 @param offset offset to move the filepointer to (integer)
258 @exception IOError This method is not supported and always raises an 278 @exception IOError This method is not supported and always raises an
259 IOError. 279 IOError.
260 """ 280 """
261 raise IOError((29, '[Errno 29] Illegal seek')) 281 raise IOError((29, '[Errno 29] Illegal seek'))
262 282
283 def writable(self):
284 """
285 Public method to check, if a stream is writable.
286
287 @return flag indicating a writable stream (boolean)
288 """
289 return self.mode == "w"
290
263 def write(self, s): 291 def write(self, s):
264 """ 292 """
265 Public method to write a string to the file. 293 Public method to write a string to the file.
266 294
267 @param s bytes to be written (string) 295 @param s bytes to be written (string)

eric ide

mercurial