#NEWLINE# def reconcile( self ) : #NEWLINE# #INDENT# '\n        Main entry point for processing misplaced objects.\n\n        Iterate over all queue entries and delegate to reconcile_object.\n        ' #NEWLINE# self . logger . debug ( 'pulling items from the queue' ) #NEWLINE# for container in self . _iter_containers ( ) : #NEWLINE# #INDENT# for raw_obj in self . _iter_objects ( container ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# obj_info = parse_raw_obj ( raw_obj ) #NEWLINE# #UNINDENT# except Exception : #NEWLINE# #INDENT# self . stats_log ( 'invalid_record' , 'invalid queue record: %r' , raw_obj , level = logging . ERROR , exc_info = True ) #NEWLINE# continue #NEWLINE# #UNINDENT# finished = self . reconcile_object ( obj_info ) #NEWLINE# if finished : #NEWLINE# #INDENT# self . pop_queue ( container , raw_obj [ 'name' ] , obj_info [ 'q_ts' ] , obj_info [ 'q_record' ] ) #NEWLINE# #UNINDENT# #UNINDENT# self . log_stats ( ) #NEWLINE# self . logger . debug ( 'finished container %s' , container )