summaryrefslogtreecommitdiffstats
path: root/aoc/__main__.py
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2022-12-01 09:36:18 +0100
committerGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2022-12-01 09:36:18 +0100
commit469092002b7f1e1657468941bd86ccd3738baac3 (patch)
treef61cbeefd0bb3e30944165caa6dc5302725f8966 /aoc/__main__.py
parentf57d4d02c5b8050694784e948086271a7f4e49e5 (diff)
download2022-469092002b7f1e1657468941bd86ccd3738baac3.tar.gz
2022-469092002b7f1e1657468941bd86ccd3738baac3.tar.bz2
2022-469092002b7f1e1657468941bd86ccd3738baac3.zip
Added pre-commit
Diffstat (limited to 'aoc/__main__.py')
-rw-r--r--aoc/__main__.py32
1 files changed, 19 insertions, 13 deletions
diff --git a/aoc/__main__.py b/aoc/__main__.py
index 25a7026..337bdfe 100644
--- a/aoc/__main__.py
+++ b/aoc/__main__.py
@@ -1,3 +1,4 @@
1# -*- coding: utf-8 -*-
1import argparse 2import argparse
2import importlib 3import importlib
3import os 4import os
@@ -7,32 +8,37 @@ from typing import List
7 8
8def day(assignment_part: str) -> str: 9def day(assignment_part: str) -> str:
9 return { 10 return {
10 '1': 'One', 11 "1": "One",
11 '2': 'Two', 12 "2": "Two",
12 }[assignment_part] 13 }[assignment_part]
13 14
15
14def kwargs(kwarg: str) -> List: 16def kwargs(kwarg: str) -> List:
15 return kwarg.split('=') 17 return kwarg.split("=")
18
16 19
17parser = argparse.ArgumentParser(description='Advent of Code') 20parser = argparse.ArgumentParser(description="Advent of Code")
18 21
19parser.add_argument('day', type=str, help='Assignment day') 22parser.add_argument("day", type=str, help="Assignment day")
20parser.add_argument( 23parser.add_argument(
21 '-p', '--part', type=day, nargs='?', default='1', 24 "-p",
22 help='Assingment part. Defaults to one.' 25 "--part",
26 type=day,
27 nargs="?",
28 default="1",
29 help="Assingment part. Defaults to one.",
23) 30)
24parser.add_argument('--example', default=False, action='store_true') 31parser.add_argument("--example", default=False, action="store_true")
25parser.add_argument('kwargs', type=kwargs, nargs='*') 32parser.add_argument("kwargs", type=kwargs, nargs="*")
26 33
27 34
28if __name__ == '__main__': 35if __name__ == "__main__":
29 args = parser.parse_args() 36 args = parser.parse_args()
30 assignment_day = importlib.import_module(args.day) 37 assignment_day = importlib.import_module(args.day)
31 38
32 Assignment = getattr(assignment_day, f'Assignment{args.part}') 39 Assignment = getattr(assignment_day, f"Assignment{args.part}")
33 assignment = Assignment( 40 assignment = Assignment(
34 path=os.path.dirname(assignment_day.__file__), 41 path=os.path.dirname(assignment_day.__file__), **dict(args.kwargs)
35 **dict(args.kwargs)
36 ) 42 )
37 43
38 start = perf_counter() 44 start = perf_counter()