Class Asset¶
asset(studio)
level = ‘project’
Данные хранимые в БД (имя столбца : тип данных):
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} - возможно не нужно
}
Создание экземпляра класса:¶
import edit_db as db
project = db.project()
asset = db.asset(project) # project - обязательный параметр при создании экземпляра asset
# доступ ко всем параметрам и методам принимаемого экземпляра project через asset.project
Атрибуты¶
| name: | (str) - имя ассета (уникально) |
|---|---|
| group: | (str) - id группы |
| type: | (str) - тип ассета из studio.asset_types |
| loading_type: | (str) - тип загрузки в анимационную сцену, варианты: mesh - загрузка меша из активити model, group - загрузка группы из активити model, rig - загрузка группы рига из активити rig |
| season: | (str) - id сезона ? |
| priority: | (int) - [0 - inf] |
| description: | (str) - |
| content: | (str) - ? |
| id: | (str) - hex |
| status: | (str) - [‘active’, ‘none’] |
| parent’: | (dict) - ? |
| project: | (project) - экземпляр Class Project принимаемый при создании экземпляра класса, содержит все атрибуты и методы Class Project. |
| path: | (str) - путь к директории ассета на сервере (заполняется при инициализации объекта). |
Методы¶
-
init(asset_name, new = True)¶ заполнение полей экземпляра по studio.asset_keys
Параметры:
- asset_name (str) - имя ассета. данные ассета будут считаны из базы данных
- new (bool) - если True - то возвращается новый инициализированный экземпляр класса asset, если False - то инициализируется текущий экземпляр
- return:
- если new=True - инициализированный экземпляр
- если new=False - (True, ‘Ok!’) / или (False, comment)
-
init_by_keys(keys, new=True)¶ заполнение полей экземпляра по studio.asset_keys.
Параметры:
- keys (dict) - словарь данных ассета, получаемый в из БД
- new (bool) - если True - то возвращается новый инициализированный экземпляр класса asset, если False - то инициализируется текущий экземпляр.
- return:
- если new=True - инициализированный экземпляр,
- если new=False - (True, ‘Ok!’)
-
create(asset_type, list_keys)¶ создание ассетов по списку.
Параметры:
- asset_type (str) - тип для всех ассетов из studio.asset_types
- list_keys (list) - список словарей по ключам asset_keys обязательные параметры в keys (list_keys): name, group(id). важный параметр set_of_tasks - имя набора задач
- return - (True, assets_data) или (False, comment)
- assets_data (dict) - словарь создаваемых асетов(экземпляры) по именам.
-
remove()¶ Перемещение текущего ассета в корзину, снятие задач с исполниетлей, изменение статуса и приоритета, разрыв исходящих связей ассета. Физически файлы ассета не удаляются.
Параметры:
- return - (True, ‘Ok!’) или (False, comment).
-
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) из studio.asset_types - тип создаваемого ассета
- set_of_tasks (str) - имя набора задач
- return - (True, ‘Ok!’) или (False, comment)
-
get_list_by_type(asset_type= False)¶ возвращает ассеты (экземпляры) по типу. Если не указывать тип ассета, вернёт ассеты по всем типам.
Параметры:
- asset_type (str) - тип ассета. Если не указывать тип ассета, вернёт ассеты по всем типам
- return (True, [instances]) или (False, comment)
-
get_list_by_all_types()¶ возвращает ассеты (экземпляры) по всем типам.
Note
Обёртка на get_list_by_type()
Параметры:
- return - (True, [instances]) или (False, comment)
-
get_list_by_group(group)¶ возвращает список ассетов (экземпляры) данной группы.
Параметры:
- group (group) - экземпляр группы
- return - (True, [instances]) или (False, comment)
-
get_dict_by_name_by_all_types()¶ возвращает словарь ассетов (экземпляры) по именам, по всем типам.
Параметры:
- return (True, {asset_name: экземпляр}) или (False, comment)
-
change_group(new_group_id)¶ изменение группы текущего ассета (ассет должен быть инициализирован).
Параметры:
- new_group_id (str) - id новой группы
- return - (True, ‘Ok!’) или (False, comment)
-
change_priority(priority)¶ изменение приоритета текущего ассета (ассет должен быть инициализирован).
Параметры:
- priority (int) - новый приоритет
- return_data - (True, ‘Ok!’) или (False, comment)
-
change_description(description)¶ изменение описания текущего ассета (ассет должен быть инициализирован).
Параметры:
- description (str) - новое описание
- return - (True, ‘Ok!’) или (False, comment)
-
change_loading_type(loading_type)¶ Смена типа загрузки ассета, для типа object (ассет должен быть инициализирован).
Параметры:
- loading_type (str) - тип загрузки, значение из studio.loading_types
- return - (True, ‘Ok!’) или (False, comment)