My Advent of Code solutions in Python. kevinyap.ca/2019/12/going-fast-in-advent-of-code/
advent-of-code python
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Support verifying multiple puzzles

+7 -5
+7 -5
advent.py
··· 80 80 if __name__ == '__main__': 81 81 parser = argparse.ArgumentParser(description="Advent of Code puzzle runner.") 82 82 parser.add_argument('year', type=int) 83 - parser.add_argument('puzzle', type=int, nargs='?') 83 + parser.add_argument('puzzles', type=int, metavar='puzzle', nargs='*') 84 84 parser.add_argument('--pypy', const=True, action='store_const', 85 85 help="use PyPy instead of CPython") 86 86 parser.add_argument('--benchmark', const=True, action='store_const', ··· 89 89 args = parser.parse_args() 90 90 91 91 year = args.year 92 - puzzle = args.puzzle 92 + puzzles = args.puzzles 93 93 pypy = args.pypy 94 94 95 - if puzzle is not None: 96 - programs = glob.glob('%s/day%02i.py' % (year, puzzle)) 95 + if puzzles: 96 + programs = [] 97 + for p in puzzles: 98 + programs.extend(glob.glob('%s/day%02i.py' % (year, p))) 97 99 else: 98 100 programs = glob.glob('%s/day*.py' % year) 99 101 ··· 143 145 if not valid: 144 146 exit_code = 1 145 147 146 - if puzzle is None: 148 + if len(puzzles) != 1: 147 149 print "Total runtime:", format_time(sum(runtimes)) 148 150 149 151 cutoffs = [