@@ -356,7 +356,7 @@ def format_field(field, row):
356
356
s += " :white_check_mark:"
357
357
return s
358
358
else :
359
- v = int (vars (row )[ field ] )
359
+ v = int (getattr (row , field ) )
360
360
if row .name .startswith ('time.' ):
361
361
return format_time (v )
362
362
else :
@@ -561,12 +561,37 @@ def render_profiles(args):
561
561
webbrowser .open_new_tab ("file://" + os .path .abspath (index_path ))
562
562
563
563
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
+
564
589
def main ():
565
590
parser = argparse .ArgumentParser ()
566
591
parser .add_argument ("--verbose" , action = "store_true" ,
567
592
help = "Report activity verbosely" )
568
593
parser .add_argument ("--output" , default = "-" ,
569
- type = argparse .FileType ('w' , 0 ),
594
+ type = argparse .FileType ('w' ),
570
595
help = "Write output to file" )
571
596
parser .add_argument ("--paired" , action = "store_true" ,
572
597
help = "Process two dirs-of-stats-dirs, pairwise" )
@@ -677,28 +702,10 @@ def main():
677
702
if len (args .remainder ) == 0 :
678
703
parser .print_help ()
679
704
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 ()
702
709
703
710
704
711
sys .exit (main ())
0 commit comments