Skip to content

plugin

get_unique_layer_name(layers, container_name, product_name)

Prepare unique layer name.

Gets all layer names and if '_' is present, it adds suffix '1', or increases the suffix by 1.

Parameters:

Name Type Description Default
container_name str
required
product_name str
required

Returns:

Name Type Description
str

name_00X (without version)

Source code in client/ayon_photoshop/api/plugin.py
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def get_unique_layer_name(layers, container_name, product_name):
    """Prepare unique layer name.

    Gets all layer names and if '<container_name>_<product_name>' is present,
    it adds suffix '1', or increases the suffix by 1.

    Args:
        layers (list) of dict with layers info (name, id etc.)
        container_name (str):
        product_name (str):

    Returns:
        str: name_00X (without version)
    """
    name = "{}_{}".format(container_name, product_name)
    names = {}
    for layer in layers:
        layer_name = re.sub(r'_\d{3}$', '', layer.name)
        if layer_name in names.keys():
            names[layer_name] = names[layer_name] + 1
        else:
            names[layer_name] = 1
    occurrences = names.get(name, 0)

    return "{}_{:0>3d}".format(name, occurrences + 1)