#NEWLINE# def get_stats_of_rows( rows ) : #NEWLINE# #INDENT# stats_and_col_types = list ( parallel . map ( get_stats_of_run_set , rows_to_columns ( s ) ) ) #NEWLINE# stats = [ s [ 0 ] for s in stats_and_col_types ] #NEWLINE# stats_columns = [ s [ 1 ] for s in stats_and_col_types ] #NEWLINE# rowsForStats = list ( map ( Util . flatten , zip ( * stats ) ) ) #NEWLINE# count_true = count_false = max_score = 0 #NEWLINE# for row in rows : #NEWLINE# #INDENT# if ( not row . properties ) : #NEWLINE# #INDENT# count_true = count_false = 0 #NEWLINE# logging . info ( 'Missing property for %s.' , row . filename ) #NEWLINE# break #NEWLINE# #UNINDENT# correct_result = result . satisfies_file_property ( row . filename , row . properties ) #NEWLINE# if ( correct_result is True ) : #NEWLINE# #INDENT# count_true += 1 #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( correct_result is False ) : #NEWLINE# #INDENT# count_false += 1 #NEWLINE# #UNINDENT# #UNINDENT# max_score += result . score_for_task ( row . filename , row . properties , result . CATEGORY_CORRECT , None ) #NEWLINE# #UNINDENT# return ( rowsForStats , max_score , count_true , count_false , stats_columns )