summaryrefslogtreecommitdiffstats
path: root/aoc/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'aoc/__main__.py')
-rw-r--r--aoc/__main__.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/aoc/__main__.py b/aoc/__main__.py
index f5f08d3..596abee 100644
--- a/aoc/__main__.py
+++ b/aoc/__main__.py
@@ -1,3 +1,4 @@
1# -*- coding: utf-8 -*-
1import enum 2import enum
2import typing 3import typing
3import importlib 4import importlib
@@ -25,15 +26,17 @@ def kwargs(kwarg: str) -> List:
25 26
26 27
27@app.command() 28@app.command()
28def run(day: str, 29def run(
29 part: str = typer.Option("One", '--part', help="Assignment part. Defaults to 'One'.", show_choices=True), 30 day: str,
30 example: bool = typer.Option(False, '--example', help="Use an example input file"), 31 part: str = typer.Option(
31 kwargs: List[str] = typer.Argument(None) 32 "1", "--part", help="Assignment part. Defaults to 'One'.", show_choices=True
32 ): 33 ),
33 34 example: bool = typer.Option(False, "--example", help="Use an example input file"),
35 kwargs: List[str] = typer.Argument(None),
36):
34 assignment_day = importlib.import_module(day) 37 assignment_day = importlib.import_module(day)
35 38
36 Assignment = getattr(assignment_day, f"Assignment{part}") 39 Assignment = getattr(assignment_day, f"Assignment{AssignmentPart(part).name}")
37 assignment = Assignment( 40 assignment = Assignment(
38 path=os.path.dirname(assignment_day.__file__), **dict(kwargs) 41 path=os.path.dirname(assignment_day.__file__), **dict(kwargs)
39 ) 42 )
@@ -46,7 +49,10 @@ def run(day: str,
46 ) 49 )
47 end = perf_counter() 50 end = perf_counter()
48 delta = end - start 51 delta = end - start
49 typer.secho(f'\n{(delta if delta > 1 else delta * 1000):.3f}{"s" if delta > 1 else "ms"}', fg="green") 52 typer.secho(
53 f'\n{(delta if delta > 1 else delta * 1000):.3f}{"s" if delta > 1 else "ms"}',
54 fg="green",
55 )
50 56
51 57
52@app.command() 58@app.command()