Class Asset(studio)

class edit_db.asset(project_ob)

level = „project“

Данные хранимые в БД (имя столбца : тип данных) edit_db.studio.asset_keys:

asset_keys = {
'name': 'text',
'group': 'text',
'type': 'text',
'loading_type': 'text', # способ загрузки ассета object в анимационную сцену, значения из studio.loading_types
'season': 'text',
'priority': 'integer',
'description': 'text',
'content': 'text',
'id': 'text',
'status': 'text',
'parent': 'json' # {'name':asset_name, 'id': asset_id} - возможно не нужно
}

Examples

Создание экземпляра класса:

import edit_db as db

project = db.project()
asset = db.asset(project) # экземпляр project - обязательный параметр при создании экземпляра asset
# доступ ко всем параметрам и методам принимаемого экземпляра project через asset.project
name

Имя ассета (уникально)

Type:str
group

id группы

Type:str
type

Тип ассета из edit_db.studio.asset_types

Type:str
loading_type

Тип загрузки в анимационную сцену, варианты: mesh - загрузка меша из активити model, group - загрузка группы из активити model, rig - загрузка группы рига из активити rig.

Type:str
season

id сезона ? (возможно устарело)

Type:str
priority

[0 - inf]

Type:int
description

Описание

Type:str
content

?

Type:str
id

uuid

Type:str
status

Варианты из [active, none]

Type:str
parent

?

Type:dict
project

Экземпляр класса edit_db.project принимаемый при создании экземпляра класса, содержит все атрибуты и методы edit_db.project.

Type:edit_db.project
path

Путь к директории ассета на сервере ? (заполняется при инициализации экземпляра).

Type:str
ACTIVITY_FOLDER = {'camera': {'camera': 'camera'}, 'film': {'animatic': 'animatic', 'film': 'film', 'specification': 'specification', 'storyboard': 'storyboard'}, 'light': {'light': 'light'}, 'location': {'location': 'location', 'location_anim': 'location_anim', 'sketch': 'sketch', 'specification': 'specification'}, 'object': {'cache': 'cache', 'def_rig': 'def_rig', 'din_rig': 'din_rig', 'face_blend': '10_face_blend', 'model': '03_model', 'rig': '08_rig', 'sculpt': 'sculpt', 'sketch': 'sketch', 'test_animation': 'test_animation', 'textures': '05_textures'}, 'shot_animation': {'actions': 'actions', 'animatic': 'animatic', 'cache': 'cache', 'camera': 'camera', 'composition': 'composition', 'pleyblast_sequence': 'pleyblast_sequence', 'render': 'render', 'shot_animation': 'shot_animation', 'simulation_din': 'simulation_din', 'tech_anim': 'tech_anim'}, 'shot_composition': {'shot_composition': 'shot_composition'}, 'shot_render': {'shot_render': 'shot_render'}}

Наброр активити в ассетах (по типам ассетов).

Структура словаря:

{ asset_type_name: {
    activiti_folder_name : description,
    },
...
}
Type:dict
ADDITIONAL_FOLDERS = {'meta_data': '00_common'}

Общие активити для всех типов ассетов.

Структура словаря:

{ activiti_folder_name : description,
...
}
Type:dict
COPIED_ASSET = {'object': ['object']}

Типы ассетов, которые подлежат копированию.

Структура словаря:

{ asset_type_name : [список типов ассетов, в которые может быть скопирован данный],
...
}
Type:dict
COPIED_WITH_TASK = ['object']

Список типов ассетов, которые копируются с задачами ?

Type:list
UNCHANGEABLE_KEYS = ['id', 'type', 'path']

Заголовки неизменяемых данных ассетов.

Type:list
change_description(description)

Изменение описания текущего ассета.

Параметры:description (str) – Новое описание.
Результат:(True, „Ok!“) или (False, comment)
Тип результата:tuple
change_group(group_id)

Изменение группы ассета.

Параметры:group_id (str) – id новой группы.
Результат:(True, „Ok!“) или (False, comment)
Тип результата:tuple
change_loading_type(loading_type)

Смена типа загрузки ассета, для типа object.

Параметры:loading_type (str) – Тип загрузки, значение из edit_db.studio.loading_types.
Результат:(True, „Ok!“) или (False, comment)
Тип результата:tuple
change_priority(priority)

Изменение приоритета ассета.

Параметры:priority (int) – Новый приоритет.
Результат:(True, „Ok!“) или (False, comment)
Тип результата:tuple
copy_of_asset(new_group_name, new_asset_name, new_asset_type, set_of_tasks)

Копирование текущего ассета.

Параметры:
  • new_group_name (str) – Имя группы для создаваемого ассета.
  • new_asset_name (str) – Имя создаваемого ассета.
  • new_asset_type (str) – Тип создаваемого ассета, значение из списка edit_db.studio.asset_types.
  • set_of_tasks (str) – Имя набора задач.
Результат:

(True, „Ok!“) или (False, comment)

Тип результата:

tuple

create(asset_type, list_keys)

Создание ассетов по списку.

Параметры:
  • asset_type (str) – Тип создаваемых ассетов, значение из списка edit_db.studio.asset_types
  • list_keys (list) – Список словарей по ключам edit_db.studio.asset_keys, обязательные значения: name, group (id). Важный параметр - set_of_tasks - имя набора задач, без этого параметра будут созданы только основные сервисные задачи ассетов.
Результат:

(True, {make_assets - словарь объектов с ключами по именам}) или (False, comment)

Тип результата:

tuple

get_by_id(asset_id)

Возвращает экземпляр ассета по его id.

Параметры:asset_id (str) – id ассета.
Результат:(True, edit_db.asset) или (False, comment)
Тип результата:tuple
get_dict_by_name_by_all_types()

Возвращает словарь ассетов (экземпляры) по именам, по всем типам.

Результат:(True, {„asset_name“ : экземпляр (edit_db.asset), … }) или (False, comment)
Тип результата:tuple
get_list_by_all_types()

Возвращает ассеты (экземпляры) по всем типам. Обёртка на edit_db.asset.get_list_by_type()

Результат:(True, [экземпляры edit_db.asset]) или (False, comment)
Тип результата:tuple
get_list_by_group(group_ob)

Возвращает список ассетов группы.

Параметры:group_ob (edit_db.group) – Группа - экземпляр.
Результат:(True, [экземпляры edit_db.asset]) или (False, comment)
Тип результата:tuple
get_list_by_type(asset_type=False)

Возвращает ассеты (экземпляры) по типу. Если не указывать тип ассета, вернёт ассеты по всем типам.

Параметры:asset_type (str, optional) – Тип ассета, значение из списка edit_db.studio.asset_types. Если не передавать, то возвращается список ассетов по всем типам.
Результат:(True, [экземпляры edit_db.asset]) или (False, comment)
Тип результата:tuple
init(asset_name, new=True)

Инициализация по имени, возвращает новый, или инициализирует текущий экземпляр.

Параметры:
  • asset_name (str) – Имя ассета.
  • new (bool) – Если True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий экземпляр.
Результат:

  • если new= True - экземпляр класса edit_db.asset,
  • если new= False - (True, „Ok!“) или (False, comment)

Тип результата:

edit_db.asset, tuple

init_by_keys(keys, new=True)

Инициализация по словарю (без чтения БД), возвращает новый, или инициализирует текущий экземпляр.

Параметры:
  • keys (dict) – словарь по edit_db.studio.asset_keys
  • new (bool, optional) – если True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий.
Результат:

  • если new= True - экземпляр класса edit_db.asset,
  • если new= False - (True, „Ok!“) или (False, comment)

Тип результата:

edit_db.asset, tuple

remove()

Перемещение текущего ассета в корзину, снятие задач с исполниетлей, изменение статуса и приоритета, разрыв исходящих связей ассета. Физически файлы ассета не удаляются.

Результат:(True, „Ok!“) или (False, comment)
Тип результата:tuple