Skip to content

version_start

get_versioning_start(project_name, host_name, task_name=None, task_type=None, product_base_type=None, product_name=None, *, project_settings=None)

Get anatomy versioning start

Source code in client/ayon_core/pipeline/version_start.py
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
@_get_versioning_start_wrap
def get_versioning_start(
    project_name: str,
    host_name: str,
    task_name: Optional[str] = None,
    task_type: Optional[str] = None,
    product_base_type: Optional[str] = None,
    product_name: Optional[str] = None,
    *,
    project_settings: Optional[dict[str, Any]] = None,
) -> int:
    """Get anatomy versioning start"""
    if not project_settings:
        project_settings = get_project_settings(project_name)

    version_start = 1
    settings = project_settings["core"]
    profiles = settings["version_start_category"]["profiles"]

    if not profiles:
        return version_start

    filtering_criteria = {
        "host_names": host_name,
        "product_base_types": product_base_type,
        "product_names": product_name,
        "task_names": task_name,
        "task_types": task_type,
    }
    profile = filter_profiles(profiles, filtering_criteria)

    if profile is None:
        return version_start

    return profile["version_start"]