@@ -356,7 +356,7 @@ def format_field(field, row):
356356 s += " :white_check_mark:"
357357 return s
358358 else :
359- v = int (vars (row )[ field ] )
359+ v = int (getattr (row , field ) )
360360 if row .name .startswith ('time.' ):
361361 return format_time (v )
362362 else :
@@ -561,12 +561,37 @@ def render_profiles(args):
561561 webbrowser .open_new_tab ("file://" + os .path .abspath (index_path ))
562562
563563
564+ def process (args ):
565+ if args .catapult :
566+ write_catapult_trace (args )
567+ elif args .compare_stats_dirs :
568+ return compare_stats_dirs (args )
569+ elif args .set_csv_baseline is not None :
570+ return set_csv_baseline (args )
571+ elif args .compare_to_csv_baseline is not None :
572+ return compare_to_csv_baseline (args )
573+ elif args .incrementality :
574+ if args .paired :
575+ show_paired_incrementality (args )
576+ else :
577+ show_incrementality (args )
578+ elif args .lnt :
579+ write_lnt_values (args )
580+ elif args .evaluate :
581+ return evaluate (args )
582+ elif args .evaluate_delta :
583+ return evaluate_delta (args )
584+ elif args .render_profiles :
585+ return render_profiles (args )
586+ return None
587+
588+
564589def main ():
565590 parser = argparse .ArgumentParser ()
566591 parser .add_argument ("--verbose" , action = "store_true" ,
567592 help = "Report activity verbosely" )
568593 parser .add_argument ("--output" , default = "-" ,
569- type = argparse .FileType ('w' , 0 ),
594+ type = argparse .FileType ('w' ),
570595 help = "Write output to file" )
571596 parser .add_argument ("--paired" , action = "store_true" ,
572597 help = "Process two dirs-of-stats-dirs, pairwise" )
@@ -677,28 +702,10 @@ def main():
677702 if len (args .remainder ) == 0 :
678703 parser .print_help ()
679704 return 1
680- if args .catapult :
681- write_catapult_trace (args )
682- elif args .compare_stats_dirs :
683- return compare_stats_dirs (args )
684- elif args .set_csv_baseline is not None :
685- return set_csv_baseline (args )
686- elif args .compare_to_csv_baseline is not None :
687- return compare_to_csv_baseline (args )
688- elif args .incrementality :
689- if args .paired :
690- show_paired_incrementality (args )
691- else :
692- show_incrementality (args )
693- elif args .lnt :
694- write_lnt_values (args )
695- elif args .evaluate :
696- return evaluate (args )
697- elif args .evaluate_delta :
698- return evaluate_delta (args )
699- elif args .render_profiles :
700- return render_profiles (args )
701- return None
705+ try :
706+ return process (args )
707+ finally :
708+ args .output .close ()
702709
703710
704711sys .exit (main ())
0 commit comments