Skip to content

Commit 571e937

Browse files
Update templates
1 parent 5c39a53 commit 571e937

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

2023/python/aoc_2023/scripts/generator.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,28 @@
1212
OUTPUT_DIR = os.path.join(SCRIPT_DIR, "..")
1313

1414

15-
def generate(day: str) -> None:
15+
def generate(**kwargs) -> None:
1616
env = Environment(autoescape=False, optimized=False)
1717

1818
def generate_file(template_name: str, output_name: str):
1919
with open(os.path.join(TEMPLATE_DIR, template_name), "r", encoding="utf-8") as f:
2020
template = env.from_string(f.read())
2121

2222
with open(os.path.join(OUTPUT_DIR, output_name), "x", encoding="utf-8") as f:
23-
template.stream(day=day).dump(f)
23+
template.stream(**kwargs).dump(f)
2424

25+
day = kwargs["day"]
2526
generate_file("input.txt.j2", f"day{day}.txt")
2627
generate_file("solution.py.j2", f"day{day}.py")
2728
generate_file("test.py.j2", f"day{day}_test.py")
2829

2930

3031
def main():
31-
if len(sys.argv) < 2:
32-
print("Please supply a day number")
32+
if len(sys.argv) < 3:
33+
print("Usage: generate <day> <title of puzzle>")
3334
exit(1)
3435

35-
day = int(sys.argv[1])
36-
day_padded = f"{day:02}"
37-
38-
generate(day_padded)
36+
generate(day=f"{int(sys.argv[1]):02}", title=sys.argv[2])
3937

4038

4139
if __name__ == "__main__":

2023/python/aoc_2023/scripts/templates/solution.py.j2

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
"""Advent of Code 2023 - Day {{ day }}."""
1+
"""Advent of Code 2023, Day {{ day }}: {{ title}}."""
22

33
import sys
44
from typing import TextIO
55

66

77
def part_one(file: TextIO) -> int:
8+
"""Solve part one of the puzzle."""
89
return -1
910

1011

1112
def part_two(file: TextIO) -> int:
13+
"""Solve part two of the puzzle."""
1214
return -1
1315

1416

1517
def main():
18+
"""The main entrypoint for the script."""
1619
filename = sys.argv[0].replace(".py", ".txt")
1720

1821
with open(filename, encoding="utf-8") as file:
@@ -24,3 +27,4 @@ def main():
2427

2528
if __name__ == "__main__":
2629
main()
30+
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
"""Advent of Code 2023 - Day {{ day }}."""
1+
"""Advent of Code 2023, Day {{ day }}: {{ title }}."""
22

33
import io
4+
from typing import TextIO
45

56
import pytest
67

@@ -12,13 +13,16 @@ EXAMPLE = """\
1213

1314

1415
@pytest.fixture()
15-
def example():
16+
def example() -> TextIO:
1617
return io.StringIO(EXAMPLE)
1718

1819

19-
def test_part_one(example):
20+
def test_part_one(example: TextIO) -> None:
21+
"""Test that checks if the solution for part one works on the example input."""
2022
assert part_one(example) == 42
2123

2224

23-
def test_part_two(example):
25+
def test_part_two(example: TextIO) -> None:
26+
"""Test that checks if the solution for part two works on the example input."""
2427
assert part_two(example) == 42
28+

0 commit comments

Comments
 (0)