#NEWLINE# def _read( self , size ) : #NEWLINE# #INDENT# if ( size > 0 ) : #NEWLINE# #INDENT# while ( len ( self . items ) > 0 ) : #NEWLINE# #INDENT# byte_vals = self . items [ 0 ] . read ( size ) #NEWLINE# ( yield byte_vals ) #NEWLINE# if ( len ( byte_vals ) < size ) : #NEWLINE# #INDENT# size = ( size - len ( byte_vals ) ) #NEWLINE# self . items . pop ( 0 ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# break #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# for item in self . items : #NEWLINE# #INDENT# ( yield item . read ( ) )