-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgen.py
executable file
·46 lines (31 loc) · 1009 Bytes
/
gen.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env python
import argparse
import os
def generate_challenge(year, day):
day = f"0{day}" if len(day) == 1 else day
dirs = [f"challenge/y{year}", f"testdata/y{year}"]
for d in dirs:
if not os.path.exists(d):
os.makedirs(d)
files = [
f"challenge/y{year}/__init__.py",
f"testdata/y{year}/d{day}_p1_1",
f"testdata/y{year}/d{day}_p2_1",
]
for f in files:
if not os.path.exists(f):
with open(f, "w"):
pass
with open("template/challenge") as f:
tmp = f.read()
with open(f"challenge/y{year}/d{day}.py", "w") as f:
f.write(tmp)
return 0
def main():
parser = argparse.ArgumentParser()
parser.add_argument("year", help="Advent of Code edition [2015-20XX]")
parser.add_argument("day", help="Day within an edition [(0)1-25]")
args = parser.parse_args()
return generate_challenge(args.year, args.day)
if __name__ == "__main__":
print(main())