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__':
|
if __name__ == '__main__':
|
||||||
day = Day(1)
|
day = Day(2021, 1)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day02.py
2
day02.py
@ -42,5 +42,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(2)
|
day = Day(2021, 2)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day03.py
2
day03.py
@ -49,5 +49,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(3)
|
day = Day(2021, 3)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day04.py
2
day04.py
@ -86,5 +86,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(4)
|
day = Day(2021, 4)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day05.py
2
day05.py
@ -48,5 +48,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(5)
|
day = Day(2021, 5)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day06.py
2
day06.py
@ -40,5 +40,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(6)
|
day = Day(2021, 6)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day07.py
2
day07.py
@ -49,5 +49,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(7)
|
day = Day(2021, 7)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day08.py
2
day08.py
@ -69,5 +69,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(8)
|
day = Day(2021, 8)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day09.py
2
day09.py
@ -59,5 +59,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(9)
|
day = Day(2021, 9)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day10.py
2
day10.py
@ -61,5 +61,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(10)
|
day = Day(2021, 10)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day11.py
2
day11.py
@ -59,5 +59,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(11)
|
day = Day(2021, 11)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day12.py
2
day12.py
@ -61,5 +61,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(12)
|
day = Day(2021, 12)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day13.py
2
day13.py
@ -64,5 +64,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(13)
|
day = Day(2021, 13)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day14.py
2
day14.py
@ -54,5 +54,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(14)
|
day = Day(2021, 14)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day15.py
2
day15.py
@ -48,5 +48,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(15)
|
day = Day(2021, 15)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day16.py
2
day16.py
@ -95,5 +95,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(16)
|
day = Day(2021, 16)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day17.py
2
day17.py
@ -55,5 +55,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(17)
|
day = Day(2021, 17)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day18.py
2
day18.py
@ -241,5 +241,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(18)
|
day = Day(2021, 18)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day19.py
2
day19.py
@ -95,5 +95,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(19)
|
day = Day(2021, 19)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day20.py
2
day20.py
@ -61,5 +61,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(20)
|
day = Day(2021, 20)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day21.py
2
day21.py
@ -64,5 +64,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(21)
|
day = Day(2021, 21)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day22.py
2
day22.py
@ -113,5 +113,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(22)
|
day = Day(2021, 22)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day23.py
2
day23.py
@ -127,5 +127,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(23)
|
day = Day(2021, 23)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day24.py
2
day24.py
@ -78,5 +78,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(24)
|
day = Day(2021, 24)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
2
day25.py
2
day25.py
@ -65,5 +65,5 @@ class Day(AOCDay):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
day = Day(25)
|
day = Day(2021, 25)
|
||||||
day.run(verbose=True)
|
day.run(verbose=True)
|
||||||
|
|||||||
3
main.py
3
main.py
@ -5,6 +5,7 @@ import argparse
|
|||||||
import importlib
|
import importlib
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
YEAR = 2021
|
||||||
TIMEIT_NUMBER = 50
|
TIMEIT_NUMBER = 50
|
||||||
|
|
||||||
argument_parser = argparse.ArgumentParser()
|
argument_parser = argparse.ArgumentParser()
|
||||||
@ -36,5 +37,5 @@ for _, _, files in os.walk(tools.aoc.BASE_PATH):
|
|||||||
|
|
||||||
for lib in sorted(imported):
|
for lib in sorted(imported):
|
||||||
day = int(lib[-2:])
|
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)
|
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__':
|
if __name__ == '__main__':
|
||||||
day = Day(%DAY%)
|
day = Day(%YEAR%, %DAY%)
|
||||||
day.run(verbose=True)
|
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