#NEWLINE# def produce( self , value ) : #NEWLINE# #INDENT# if ( not self . _alive ) : #NEWLINE# #INDENT# raise ShutdownException ( ) #NEWLINE# #UNINDENT# val = self . _cur_producing . append ( value ) #NEWLINE# num = self . _producing [ 0 ] [ 0 ] #NEWLINE# if ( num is None ) : #NEWLINE# #INDENT# del self . _cur_producing [ : ] #NEWLINE# self . _producing . popleft ( ) [ 1 ] . set ( value ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( len ( self . _cur_producing ) >= num ) : #NEWLINE# #INDENT# res = tuple ( self . _cur_producing ) #NEWLINE# del self . _cur_producing [ : ] #NEWLINE# self . _producing . popleft ( ) [ 1 ] . set ( res ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return