@@ -560,13 +560,39 @@ def render_profiles(args):
560
560
import webbrowser
561
561
webbrowser .open_new_tab ("file://" + os .path .abspath (index_path ))
562
562
563
+ def process (args ):
564
+ if len (args .remainder ) == 0 :
565
+ parser .print_help ()
566
+ return 1
567
+ if args .catapult :
568
+ write_catapult_trace (args )
569
+ elif args .compare_stats_dirs :
570
+ return compare_stats_dirs (args )
571
+ elif args .set_csv_baseline is not None :
572
+ return set_csv_baseline (args )
573
+ elif args .compare_to_csv_baseline is not None :
574
+ return compare_to_csv_baseline (args )
575
+ elif args .incrementality :
576
+ if args .paired :
577
+ show_paired_incrementality (args )
578
+ else :
579
+ show_incrementality (args )
580
+ elif args .lnt :
581
+ write_lnt_values (args )
582
+ elif args .evaluate :
583
+ return evaluate (args )
584
+ elif args .evaluate_delta :
585
+ return evaluate_delta (args )
586
+ elif args .render_profiles :
587
+ return render_profiles (args )
588
+ return None
563
589
564
590
def main ():
565
591
parser = argparse .ArgumentParser ()
566
592
parser .add_argument ("--verbose" , action = "store_true" ,
567
593
help = "Report activity verbosely" )
568
594
parser .add_argument ("--output" , default = "-" ,
569
- type = argparse .FileType ('w' , 0 ),
595
+ type = argparse .FileType ('w' ),
570
596
help = "Write output to file" )
571
597
parser .add_argument ("--paired" , action = "store_true" ,
572
598
help = "Process two dirs-of-stats-dirs, pairwise" )
@@ -674,31 +700,9 @@ def main():
674
700
help = "stats-dirs to process" )
675
701
676
702
args = parser .parse_args ()
677
- if len (args .remainder ) == 0 :
678
- parser .print_help ()
679
- 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
702
-
703
+ try :
704
+ return process (args )
705
+ finally :
706
+ args .output .close ()
703
707
704
708
sys .exit (main ())
0 commit comments