include year and start_day
This commit is contained in:
parent
7e7bdfc81d
commit
04c61ab544
2
day01.py
2
day01.py
@ -34,5 +34,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(1)
|
||||
day = Day(2021, 1)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day02.py
2
day02.py
@ -42,5 +42,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(2)
|
||||
day = Day(2021, 2)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day03.py
2
day03.py
@ -49,5 +49,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(3)
|
||||
day = Day(2021, 3)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day04.py
2
day04.py
@ -86,5 +86,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(4)
|
||||
day = Day(2021, 4)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day05.py
2
day05.py
@ -48,5 +48,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(5)
|
||||
day = Day(2021, 5)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day06.py
2
day06.py
@ -40,5 +40,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(6)
|
||||
day = Day(2021, 6)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day07.py
2
day07.py
@ -49,5 +49,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(7)
|
||||
day = Day(2021, 7)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day08.py
2
day08.py
@ -69,5 +69,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(8)
|
||||
day = Day(2021, 8)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day09.py
2
day09.py
@ -59,5 +59,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(9)
|
||||
day = Day(2021, 9)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day10.py
2
day10.py
@ -61,5 +61,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(10)
|
||||
day = Day(2021, 10)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day11.py
2
day11.py
@ -59,5 +59,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(11)
|
||||
day = Day(2021, 11)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day12.py
2
day12.py
@ -61,5 +61,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(12)
|
||||
day = Day(2021, 12)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day13.py
2
day13.py
@ -64,5 +64,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(13)
|
||||
day = Day(2021, 13)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day14.py
2
day14.py
@ -54,5 +54,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(14)
|
||||
day = Day(2021, 14)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day15.py
2
day15.py
@ -48,5 +48,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(15)
|
||||
day = Day(2021, 15)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day16.py
2
day16.py
@ -95,5 +95,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(16)
|
||||
day = Day(2021, 16)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day17.py
2
day17.py
@ -55,5 +55,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(17)
|
||||
day = Day(2021, 17)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day18.py
2
day18.py
@ -241,5 +241,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(18)
|
||||
day = Day(2021, 18)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day19.py
2
day19.py
@ -95,5 +95,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(19)
|
||||
day = Day(2021, 19)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day20.py
2
day20.py
@ -61,5 +61,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(20)
|
||||
day = Day(2021, 20)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day21.py
2
day21.py
@ -64,5 +64,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(21)
|
||||
day = Day(2021, 21)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day22.py
2
day22.py
@ -113,5 +113,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(22)
|
||||
day = Day(2021, 22)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day23.py
2
day23.py
@ -127,5 +127,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(23)
|
||||
day = Day(2021, 23)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day24.py
2
day24.py
@ -78,5 +78,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(24)
|
||||
day = Day(2021, 24)
|
||||
day.run(verbose=True)
|
||||
|
||||
2
day25.py
2
day25.py
@ -65,5 +65,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(25)
|
||||
day = Day(2021, 25)
|
||||
day.run(verbose=True)
|
||||
|
||||
3
main.py
3
main.py
@ -5,6 +5,7 @@ import argparse
|
||||
import importlib
|
||||
import os
|
||||
|
||||
YEAR = 2021
|
||||
TIMEIT_NUMBER = 50
|
||||
|
||||
argument_parser = argparse.ArgumentParser()
|
||||
@ -36,5 +37,5 @@ for _, _, files in os.walk(tools.aoc.BASE_PATH):
|
||||
|
||||
for lib in sorted(imported):
|
||||
day = int(lib[-2:])
|
||||
day_class = getattr(globals()[lib], "Day")(day)
|
||||
day_class = getattr(globals()[lib], "Day")(YEAR, day)
|
||||
day_class.run(flags.part if flags.part else 3, flags.verbose, flags.timeit, flags.timeit_number)
|
||||
|
||||
@ -20,5 +20,5 @@ class Day(AOCDay):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
day = Day(%DAY%)
|
||||
day = Day(%YEAR%, %DAY%)
|
||||
day.run(verbose=True)
|
||||
|
||||
51
start_day.py
Executable file
51
start_day.py
Executable file
@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python3
|
||||
from argparse import ArgumentParser
|
||||
from datetime import datetime
|
||||
from os.path import exists
|
||||
from platform import system
|
||||
from subprocess import call
|
||||
from time import sleep
|
||||
import webbrowser
|
||||
|
||||
|
||||
YEAR = 2021
|
||||
CHARMS = {
|
||||
'Linux': '/usr/local/bin/charm',
|
||||
'Windows': r'C:\somewhere\pycharm64.exe'
|
||||
}
|
||||
|
||||
arg_parser = ArgumentParser()
|
||||
arg_parser.add_argument("-d", "--day", help="start a specific day (default: today)", type=int)
|
||||
args = arg_parser.parse_args()
|
||||
|
||||
DAY = args.day or datetime.now().day
|
||||
|
||||
if YEAR < 2015 or not 1 <= DAY <= 25:
|
||||
print("Invalid year or day for year: %d, day: %d" % (YEAR, DAY))
|
||||
exit()
|
||||
|
||||
day_file = "day%02d.py" % DAY
|
||||
if exists(day_file):
|
||||
print(day_file, "already exists. Use that one!")
|
||||
exit()
|
||||
|
||||
with open("skel_day.py", "r") as IN:
|
||||
with open(day_file, "w") as OUT:
|
||||
while in_line := IN.readline():
|
||||
OUT.write(in_line.replace("%YEAR%", str(YEAR)).replace("%DAY%", str(DAY)))
|
||||
|
||||
start = datetime(YEAR, 12, DAY, 6, 0, 0)
|
||||
now = datetime.now()
|
||||
if start > now:
|
||||
time_wait = start - now
|
||||
if time_wait.days > 0:
|
||||
print("Do you really want to wait %d days?" % time_wait.days)
|
||||
exit()
|
||||
|
||||
for x in range(time_wait.seconds, -1, -1):
|
||||
print("Day starts in %02ds.\r")
|
||||
sleep(1)
|
||||
|
||||
call([CHARMS[system()], day_file])
|
||||
webbrowser.open("https://adventofcode.com/%d/day/%d" % (YEAR, DAY))
|
||||
call(["git", "add", day_file])
|
||||
Loading…
Reference in New Issue
Block a user