diff options
| author | 2022-12-01 09:36:18 +0100 | |
|---|---|---|
| committer | 2022-12-01 09:36:18 +0100 | |
| commit | 469092002b7f1e1657468941bd86ccd3738baac3 (patch) | |
| tree | f61cbeefd0bb3e30944165caa6dc5302725f8966 /aoc/__main__.py | |
| parent | f57d4d02c5b8050694784e948086271a7f4e49e5 (diff) | |
| download | 2022-469092002b7f1e1657468941bd86ccd3738baac3.tar.gz 2022-469092002b7f1e1657468941bd86ccd3738baac3.tar.bz2 2022-469092002b7f1e1657468941bd86ccd3738baac3.zip | |
Added pre-commit
Diffstat (limited to 'aoc/__main__.py')
| -rw-r--r-- | aoc/__main__.py | 32 |
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 -*- | ||
| 1 | import argparse | 2 | import argparse |
| 2 | import importlib | 3 | import importlib |
| 3 | import os | 4 | import os |
| @@ -7,32 +8,37 @@ from typing import List | |||
| 7 | 8 | ||
| 8 | def day(assignment_part: str) -> str: | 9 | def 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 | |||
| 14 | def kwargs(kwarg: str) -> List: | 16 | def kwargs(kwarg: str) -> List: |
| 15 | return kwarg.split('=') | 17 | return kwarg.split("=") |
| 18 | |||
| 16 | 19 | ||
| 17 | parser = argparse.ArgumentParser(description='Advent of Code') | 20 | parser = argparse.ArgumentParser(description="Advent of Code") |
| 18 | 21 | ||
| 19 | parser.add_argument('day', type=str, help='Assignment day') | 22 | parser.add_argument("day", type=str, help="Assignment day") |
| 20 | parser.add_argument( | 23 | parser.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 | ) |
| 24 | parser.add_argument('--example', default=False, action='store_true') | 31 | parser.add_argument("--example", default=False, action="store_true") |
| 25 | parser.add_argument('kwargs', type=kwargs, nargs='*') | 32 | parser.add_argument("kwargs", type=kwargs, nargs="*") |
| 26 | 33 | ||
| 27 | 34 | ||
| 28 | if __name__ == '__main__': | 35 | if __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() |
