Buffered read from node, potentially blocking. size: maximum number of characters to return
( self, size=1024 )
| 242 | # Subshell I/O, commands and control |
| 243 | |
| 244 | def read( self, size=1024 ): |
| 245 | """Buffered read from node, potentially blocking. |
| 246 | size: maximum number of characters to return""" |
| 247 | count = len( self.readbuf ) |
| 248 | if count < size: |
| 249 | data = os.read( self.stdout.fileno(), size - count ) |
| 250 | self.readbuf += self.decoder.decode( data ) |
| 251 | if size >= len( self.readbuf ): |
| 252 | result = self.readbuf |
| 253 | self.readbuf = '' |
| 254 | else: |
| 255 | result = self.readbuf[ :size ] |
| 256 | self.readbuf = self.readbuf[ size: ] |
| 257 | return result |
| 258 | |
| 259 | def readline( self ): |
| 260 | """Buffered readline from node, potentially blocking. |
no test coverage detected