else: shutil.copy("settings.json.default", "settings.json") print("Please fill in settings.json first!") sys.exit(3) session_token = settings['session_token'] year = settings['year'] days_to_run = [day_number] if run_everything: days_to_run = [x+1 for x in range(25)] # Dynamically try to load the requested day from days import * from aocdays import AOCDays days: AOCDays = AOCDays.get_instance() for d in days_to_run: day = days.get_day(d) if day: for someones_day in day: print("Attempting to run AoC day {} from {}...".format(d, someones_day.creator)) # noinspection PyBroadException try: instance = someones_day(year, d, session_token) instance.run() except ConnectionError as e: print(e, file=sys.stderr) except Exception as e: traceback.print_exc()
def day_decorator(cls): if not str(cls.__module__).replace("days.", "").startswith("_"): AOCDays.get_instance().add_day(day_number, cls) return cls