43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
import os
|
|
import sys
|
|
from datetime import datetime
|
|
|
|
def get_template(year, day, part):
|
|
part_letter = {1: 'a', 2: 'b'}[part]
|
|
|
|
return f'''import aocd
|
|
|
|
def main(data):
|
|
...
|
|
|
|
if __name__ == '__main__':
|
|
solution = main(aocd.get_data(day={day}, year={year}))
|
|
print(solution)
|
|
# aocd.submit(solution, part='{part_letter}', day={day}, year={year})'''
|
|
|
|
def main():
|
|
today = datetime.today()
|
|
|
|
year = today.year
|
|
month = today.month
|
|
day = today.day if len(sys.argv) == 1 else int(sys.argv[1])
|
|
|
|
if month != 12 or not 1 <= day <= 25:
|
|
print('Advent of Code runs from December 1st to December 25th', file=sys.stderr)
|
|
sys.exit(1)
|
|
|
|
directory_name = f'day-{day:02}'
|
|
if directory_name not in os.listdir():
|
|
os.mkdir(directory_name)
|
|
|
|
for part in (1, 2):
|
|
filename = f'part-{part}.py'
|
|
|
|
if filename in os.listdir(directory_name):
|
|
continue
|
|
|
|
with open(f'{directory_name}/{filename}', 'w') as f:
|
|
f.write(get_template(year, day, part))
|
|
|
|
if __name__ == '__main__':
|
|
main() |