advent-of-code/py/aoc/__init__.py
2024-12-11 19:35:44 +01:00

38 lines
790 B
Python

import argparse
import sys
from pathlib import Path
from . import y2015, y2016, y2017, y2018, y2020, y2021, y2022, y2024
DAYS = {
**y2015.DAYS,
**y2016.DAYS,
**y2017.DAYS,
**y2018.DAYS,
**y2020.DAYS,
**y2021.DAYS,
**y2022.DAYS,
**y2024.DAYS,
}
def eprint(*args, **kwargs):
print(*args, **kwargs, file=sys.stderr)
def main():
parser = argparse.ArgumentParser()
parser.add_argument("files", type=Path, nargs="+")
args = parser.parse_args()
for file in args.files:
day = DAYS.get(file.stem[:7])
if day is None:
eprint(f"### Can't solve {file}")
continue
eprint(f"### Solving {file}")
with open(file) as f:
inputstr = f.read()
day(inputstr)
eprint()