#NEWLINE# def remove_distribution( self , dist ) : #NEWLINE# #INDENT# '\n        Remove a distribution from the finder. This will update internal\n        information about who provides what.\n        :param dist: The distribution to remove.\n        ' #NEWLINE# logger . debug ( 'removing distribution %s' , dist ) #NEWLINE# name = dist . key #NEWLINE# del self . dists_by_name [ p ] #NEWLINE# del self . dists [ ( name , dist . version ) ] #NEWLINE# for p in dist . provides : #NEWLINE# #INDENT# ( name , version ) = parse_name_and_version ( p ) #NEWLINE# logger . debug ( 'Remove from provided: %s, %s, %s' , name , version , dist ) #NEWLINE# s = self . provided [ name ] #NEWLINE# s . remove ( ( version , dist ) ) #NEWLINE# if ( not s ) : #NEWLINE# #INDENT# del self . provided [ name ]