def release_directory_base()

in atr/util.py [0:0]


def release_directory_base(release: models.Release) -> pathlib.Path:
    """Determine the filesystem directory for a given release based on its phase."""
    phase = release.phase
    try:
        project_name, version_name = release.name.rsplit("-", 1)
    except ValueError:
        raise base.ASFQuartException(f"Invalid release name format '{release.name}'", 500)

    base_dir: pathlib.Path | None = None
    match phase:
        case models.ReleasePhase.RELEASE_CANDIDATE_DRAFT:
            base_dir = get_unfinished_dir()
        case models.ReleasePhase.RELEASE_CANDIDATE:
            base_dir = get_unfinished_dir()
        case models.ReleasePhase.RELEASE_PREVIEW:
            base_dir = get_unfinished_dir()
        case models.ReleasePhase.RELEASE:
            base_dir = get_finished_dir()
        # NOTE: Do NOT add "case _" here

    return base_dir / project_name / version_name