summaryrefslogtreecommitdiffstats
path: root/aoc/__main__.py
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2020-12-11 23:53:45 +0100
committerGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2020-12-11 23:53:45 +0100
commit4985ee94450df0bbcf982b7652c946a47707e60c (patch)
tree6a19652db8f05ab6546f9b5fe00c7e652f8acd8e /aoc/__main__.py
download2021-4985ee94450df0bbcf982b7652c946a47707e60c.tar.gz
2021-4985ee94450df0bbcf982b7652c946a47707e60c.tar.bz2
2021-4985ee94450df0bbcf982b7652c946a47707e60c.zip
Added AoC day 1 and 2
Diffstat (limited to 'aoc/__main__.py')
-rw-r--r--aoc/__main__.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/aoc/__main__.py b/aoc/__main__.py
new file mode 100644
index 0000000..da0496e
--- /dev/null
+++ b/aoc/__main__.py
@@ -0,0 +1,29 @@
1import argparse
2import os
3import sys
4import importlib
5
6def day(assignment_part: str) -> str:
7 return {
8 '1': 'One',
9 '2': 'Two',
10 }[assignment_part]
11
12parser = argparse.ArgumentParser(description='Advent of Code')
13
14parser.add_argument('day', type=str, help='Assignment day')
15parser.add_argument(
16 '-p', '--part', type=day, nargs='?', default='1',
17 help='Assingment part. Defaults to one.'
18)
19parser.add_argument('--example', default=False, action='store_true')
20
21
22if __name__ == '__main__':
23 args = parser.parse_args()
24 assignment_day = importlib.import_module(args.day)
25
26 Assignment = getattr(assignment_day, f'Assignment{args.part}')
27 assignment = Assignment(path=os.path.dirname(assignment_day.__file__))
28
29 print(assignment.run(input=assignment.read_input()))