def get()

in atr/config.py [0:0]


def get() -> type[AppConfig]:
    try:
        config = _CONFIG_DICT[get_mode()]
    except KeyError:
        exit("Error: Invalid <mode>. Expected values [Debug, Production, Profiling].")

    absolute_paths = [
        (config.PROJECT_ROOT, "PROJECT_ROOT"),
        (config.STATE_DIR, "STATE_DIR"),
        (config.FINISHED_STORAGE_DIR, "FINISHED_STORAGE_DIR"),
        (config.UNFINISHED_STORAGE_DIR, "UNFINISHED_STORAGE_DIR"),
    ]
    relative_paths = [
        (config.SQLITE_DB_PATH, "SQLITE_DB_PATH"),
    ]

    for path, name in absolute_paths:
        if not path.startswith("/"):
            raise RuntimeError(f"{name} must be an absolute path")
    for path, name in relative_paths:
        if path.startswith("/"):
            raise RuntimeError(f"{name} must be a relative path")

    return config