Class Task(studio)¶
-
class
edit_db.task(asset_ob)¶ level = „project“
Данные хранимые в БД (имя столбца : тип данных)
edit_db.studio.tasks_keys:tasks_keys = { 'activity': 'text', 'task_name': 'text', 'task_type': 'text', 'source': 'json', 'input': 'json', 'status': 'text', 'outsource': 'integer', 'artist': 'text', # username 'level': 'text', # пользовательский уровень сложности задачи. 'planned_time': 'real', 'price': 'real', 'time': 'json', # словарь: ключи - username, значения - ссумарное время атриста по этой задаче (ед. измерения - секунда). 'full_time': 'real', # ссумарное время всех атристов по этой задаче (ед. измерения - секунда). 'deadline': 'timestamp', # расчётная дата окончания работ. 'start': 'timestamp', 'end': 'timestamp', 'specification': 'text', 'chat_local': 'json', 'web_chat': 'text', 'supervisor': 'text', 'readers': 'json', # словарь: ключ - username, значение - 0 или 1 (статус проверки), плюс одна запись: ключ - 'first_reader', значение - username - это первый проверяющий - пока он не проверит даннаня задача не будет видна у других проверяющих в списке на проверку. 'output': 'json', 'priority':'integer', 'extension': 'text', 'description': 'text', # описание задачи }
Examples
Создание экземпляра класса:
import edit_db as db project = db.project() asset = db.asset(project) task = db.task(asset) # asset - обязательный параметр при создании экземпляра task # доступ ко всем параметрам и методам принимаемого экземпляра asset - через task.asset
-
activity¶ Активити из
edit_db.asset.ACTIVITY_FOLDER[asset_type]Type: str
-
task_name¶ Имя задачи, структура имени:
asset_name:task_nameType: str
-
task_type¶ Тип задачи из
edit_db.studio.task_types+serviceType: str
-
source¶ Имена задач, объекты из активити которых используются как исходники.
Type: list
-
input¶ Для сервисной задачи (
task_type=service) - это список имён входящих задач. для не сервисной задачи - это имя входящей задачи.Type: str, list
-
status¶ Cтатус задачи из
edit_db.studio.task_statusType: str
-
outsource¶ Значение из
[0, 1]если =1- задача на аутсорсе.Type: int
-
artist¶ usernameисполнителя.Type: str
-
level¶ Пользовательский уровень сложности задачи.
Type: text
-
planned_time¶ Планируемое время (ед. измерения - час).
Type: float
-
price¶ Стоимость работ по задаче (ед. измерения - юнит).
Type: float
-
time¶ Словарь: ключи -
username, значения - ссумарное время атриста по этой задаче (ед. измерения - секунда).Type: dict
-
full_time¶ Ссумарное время всех атристов по этой задаче (ед. измерения - секунда).
Type: real
-
deadline¶ Расчётная дата окончания работ.
Type: timestamp
-
start¶ Дата и время взятия задачи в работу.
Type: timestamp
-
end¶ Дата и время приёма задачи.
Type: timestamp
-
specification¶ Ссылка на техническое задание.
Type: str
-
chat_local¶ ?Type: str
-
web_chat¶ ?Type: str
-
supervisor¶ ?Type: str
-
readers¶ Словарь: ключ -
username, значение -0или1(статус проверки), плюс одна запись: ключ -first_reader, значение -username- это первый проверяющий - пока он не проверит даннаня задача не будет видна у других проверяющих в списке на проверку.Type: dict
-
output¶ Список имён исходящих задач.
Type: list
-
priority¶ Приоритет.
Type: int
-
extension¶ Расширение файла для работы над данной задачей, начинается с точки, например:
.blendType: str
-
approved_date¶ Дата планируемого окончания работ (вычисляется при создании экземпляра)
Type: timestamp
-
asset¶ Экземпляр
assetпринимаемый при создании экземпляра класса, содержит все атрибуты и методыedit_db.asset.Type: edit_db.asset
-
description¶ Описание задачи
Type: text
-
branches¶ атрибут класса- список веток активити задачи. Заполняется при выполнении методаedit_db.task._set_branches()Type: list
-
CHANGE_BY_OUTSOURCE_STATUSES= {'to_outsource': {'ready': 'ready_to_send', 'work': 'ready_to_send'}, 'to_studio': {'ready_to_send': 'ready', 'work_to_outsorce': 'ready'}}¶ Описание того как менять некоторые статусы задач, при изменении статуса исполнителя на аутсорс, или наоборот с аутсорса в студию.
Структура словаря:
{ 'to_outsource': { status_name_from : status_name_to, ... }, 'to_studio': { status_name_from : status_name_to, ... }, }
Type: dict
-
VARIABLE_STATUSES= ('ready', 'ready_to_send', 'work', 'work_to_outsorce')¶ ?Type: tuple
-
_from_input_status(input_task, this_task=False)¶ Возвращает новый статус задачи (текущей или
this_task) на основе входящей задачи, не меняя статуса данной задачи.Параметры: - input_task (
edit_db.task) – Входящая задача - this_task (
edit_db.task, optional) – Задача для которой определяется статус, если не передавать, то статус будет определятся для текущей задачи.
Результат: Новый статус, значение из
edit_db.studio.task_statusТип результата: str
- input_task (
-
_post_commit(work_path, save_path)¶ Вызов одноимённого хука. Вызывается из
edit_db.task.commit()Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
_post_publish()¶ Вызов одноимённого хука. Вызывается из
edit_db.task.publish_task()Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
_post_push()¶ Вызов одноимённого хука. Вызывается из
edit_db.task.push()Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
_pre_commit(work_path, save_path)¶ Вызов одноимённого хука. Вызывается из
edit_db.task.commit()Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
_pre_publish()¶ Вызов одноимённого хука. Вызывается из
edit_db.task.publish_task()Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
_pre_push()¶ Вызов одноимённого хука. Вызывается из
edit_db.task.push()Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
_read_task(task_name)¶ Возврат словаря задачи (по ключам из
edit_db.studio.tasks_keys, чтение БД) по имени задачи. если нужен объект используемedit_db.task.init().Параметры: task_name (str) – Имя задачи. Результат: (True, { task_data}) или (False, comment)Тип результата: tuple
-
_service_add_list_to_input(input_task_list)¶ Добавление списка задач во входящие сервисной задаче, со всеми вытикающими изменениями статусов. Изменяется параметр
edit_db.task.input, с возможными изменениями статусов, как данной, так и исходящих задач.Параметры: input_task_list (list) – Список задач (экземпляры). Результат: (True, ( new_ststus, [append_task_name_list])) или (False, comment)Тип результата: tuple
-
_service_add_list_to_input_from_asset_list(asset_list)¶ Добавление задач во входящие сервисной задаче из списка ассетов. Из списка задач ассета подсоединяется первая задача нужного активити. Изменяется параметр
edit_db.task.input, с возможными изменениями статусов, как данной, так и исходящих задач.Параметры: asset_list (list) – Список подсоединяемых ассетов (словари, или экземпляры). Результат: (True, ( this_task_data,append_task_name_list))?? пересмотретьили (False, коммент)Тип результата: tuple
-
_service_change_task_in_input(removed_task_data, added_task_data, task_data=False)¶ Замена одной входящей задачи на другую, для сервисной задачи. Изменение параметра
edit_db.task.input, с возможными изменениями статусов данной и исходящих задач.Внимание
Переработать, уйти от словарей, переделать на объекты, не передавать
task_data.Параметры: - removed_task_data (dict) – Словарь удаляемой задачи,
переработать - заменить на экземпляр!!!. - added_task_data (dict) – Словарь добавляемой задачи,
переработать - заменить на экземпляр!!!. - task_data (dict, optional) – Изменяемая задача, если False - значит предполагается, что task инициализирован
лучше не использовать.
Результат: (True, (
this_task_data,append_task_name_list))?? пересмотретьили (False, коммент).Тип результата: tuple
- removed_task_data (dict) – Словарь удаляемой задачи,
-
_service_input_to_end(assets)¶ Изменение статуса текущей сервисной задачи, по проверке статусов входящих задач. и далее задач по цепочке.
Параметры: assets (dict) – Словарь всех ассетов по всем типам (ключи - имена, значения - ассеты (экземпляры)) - результат функции edit_db.asset.get_dict_by_name_by_all_types()Результат: (True, new_status) или (False, comment)Тип результата: tuple
-
_service_remove_task_from_input(removed_tasks_list, task_data=False, change_status=True)¶ Удаление списка задач из
edit_db.task.inputсервисной задачи, с возможными изменениями статусов, как данной, так и исходящих задач.Внимание
Переработать, уйти от словарей, переделать на объекты, не передавать
task_data.Параметры: - removed_tasks_list (list) – Содержит список словарей удаляемых из инпута задач
?? переработать - заменить на объекты - task_data (dict, optional) – Изменяемая задача, если False - значит предполагается, что task инициализирован
лучше не использовать. - change_status (bool, optional) – Если True то пересматривается статус данной и исходящих задачь, если False то статусы персматриваться не будут.
Результат: (True, (
new_status[13],input_list[14]) или (False, comment)[13] new_status- новый статус данной задачи.[14] input_list- получаемое значение инпут атрибутаedit_db.task.input.Тип результата: tuple
- removed_tasks_list (list) – Содержит список словарей удаляемых из инпута задач
-
classmethod
_set_branches(branches)¶ Заполнение
атрибута классаedit_db.task.branchesПараметры: branches (list) – Список веток получаемый при выполнении edit_db.log.read_log()Результат: None Тип результата: None
-
_this_change_from_end(this_task=False, assets=False)¶ Замена статусов исходящих задач при изменении статуса текущей задачи с
doneили сclose.Параметры: - this_task (
edit_db.task, optional) – Задача относительно которой будут менятся статусы, если не передавать, то статусы будут менятся относительно текущей задачи. - assets (dict, optional) – Словарь всех ассетов по всем типам (ключи - имена, значения - ассеты (экземпляры)) - результат функции
edit_db.asset.get_dict_by_name_by_all_types()
Результат: (True, „Ok!“) или (False, comment)
Тип результата: tuple
- this_task (
-
_this_change_to_end(assets=False)¶ Замена статусов исходящих задач при изменении статуса текущей задачи на
doneилиclose.Параметры: assets (dict, optional) – Словарь всех ассетов по всем типам (ключи - имена, значения - ассеты (экземпляры)) - результат функции edit_db.asset.get_dict_by_name_by_all_types().Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
accept_task()¶ Приём задачи, статус на
done(со всеми вытикающими сменами статусов), создание паблиш версии, заполнениеartist_tasks_log(finish,``price``), выполнение хуков.Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
add_readers(add_readers_list)¶ Добавление проверяющих для текущей задачи.
Параметры: add_readers_list (list) – Список никнеймов проверяющих. Результат: (True, readers- (слорварь в формате записи какedit_db.task.readers),change_status- (bool)) или (False, comment)Тип результата: tuple
-
add_single_task(task_data)¶ Создание одной задачи.
Параметры: task_data (dict) – Словарь по edit_db.studio.tasks_keys, обязательные поля:activity,task_name,task_type,extension. Если передать поляinput,output- то будут установлены соединения и призведены проверки, и смены статусов.Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
change_activity(new_activity)¶ Замена активити текущей задачи. Изменяемый параметр
edit_db.task.activityПараметры: new_activity (str) – Новое активити для задачи, значение из edit_db.asset.ACTIVITY_FOLDER.Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
change_artist(new_artist)¶ Замена артиста и возможная замена при этом статуса. Изменяемый параметр
edit_db.task.artist.Параметры: new_artist (str, edit_db.artist) – Новый артист никнейм или экземпляр, лучше передавать экземпляр для экономии запросов.Результат: (True, ( new_task_status,edit_db.artist.outsource)) или (False, comment)Тип результата: tuple
-
change_input(new_input)¶ Изменение входа не сервисной задачи, с вытикающими изменениями статусов. Изменяемый параметр
edit_db.task.input.Параметры: new_input (str) – Имя новой входящей задачи. Результат: (True, ( new_status,old_input_task_data,new_input_task_data)) или (False, comment)Тип результата: tuple
-
change_price(new_price)¶ Замена стоимости текущей задачи. Изменяемый параметр
edit_db.task.price.Параметры: new_price (float) – Новое значение стоимости задачи. Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
change_work_statuses(change_statuses)¶ Тупо смена статусов в пределах рабочих, что не приводит к смене статусов исходящих задач. Изменяемый параметр
edit_db.task.status. Применяется для списка задач.Параметры: change_statuses (list) – Список кортежей - ( task_ob,new_status)Результат: (True, { task_name:new_status, … }) или (False, comment)Тип результата: tuple
-
changes_without_a_change_of_status(key, new_data)¶ Замена параметров задачи, которые не приводят к смене статуса.
Параметры: - key (str) – Заменяемый параметр. Допустимые на замену параметры:
activity,task_type,season,price,specification,extension,start,end,time,full_time,deadline,planned_time,level, - new_data (тип зависит от параметра) – Новое значение для параметра.
Результат: (True, „Ok!“) или (False, comment)
Тип результата: tuple
- key (str) – Заменяемый параметр. Допустимые на замену параметры:
-
close_task()¶ Закрытие задачи, смена статуса на
close(со всеми вытикающими сменами статусов). Изменяемый параметрedit_db.task.status.Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
commit(work_path, description, branch=False, artist_ob=False)¶ Запись новой рабочей версии в
workдиректорию пользователя (edit_db.studio.work_folder).Параметры: - work_path (str) – Путь к текущему рабочему файлу.
- description (str) – Описание.
- branch (str, optional) – Наименование ветки, если не передавать - то будет использован
master. - artist_ob (
edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user().
Результат: (True,
path- путь до сохранённого файла) или (False, comment)Тип результата: tuple
-
create_tasks_from_list(list_of_tasks)¶ Создание задач ассета по списку.
Параметры: list_of_tasks (list) – Список задач (словари по edit_db.studio.tasks_keys, обязательные параметры:task_name)Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
get_final_cache_file_path(cache_dir_name, activity='cache', extension='.pc2', task_data=False)¶ Путь к последней версии кеша для меш объекта.
Параметры: - cache_dir_name (str) – Имя директории состоиит из имени ассета и имени меш объекта, через нижнее подчёркивание:
asset_name+'_'+ob_name. - activity (str, optional) – По умолчанию
'cache'(для blender) - для других программ может быть другим, например'maya_cache'. - extension (str, optional) – Расширение файла кеша.
- task_data (dict) – Не использовать. Работа с текущим объектом.
Результат: (True,
path) или (False, comment)Тип результата: tuple
- cache_dir_name (str) – Имя директории состоиит из имени ассета и имени меш объекта, через нижнее подчёркивание:
-
get_final_publish_file_path()¶ Пути к
topверсии паблиш файлов (на локальном сервере студии).Результат: - для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES- (True,{path_data}[5]) или (False, comment) - для остальных - (True,
path) - или (False, comment)
[5] Структура словаря {path_data}:{ 'look_path': { branch_name : path, ... }, 'publish_path': { branch_name : path, ... }, }
Тип результата: tuple - для задач с типом из
-
get_final_push_file_path(current_artist=False)¶ Возвращает путь и версию финальной
pushверсии файла (на локальном сервере студии).Параметры: current_artist ( edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user()Результат: - для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES- (True, ({path_data}[1],version)) или (False, comment) - для остальных - (True, (
path,version)) - или (False, comment)
[1] Структура словаря {path_data}:{ 'look_path': { branch_name : path, ... }, 'push_path': { branch_name : path, ... }, }
Тип результата: tuple - для задач с типом из
-
get_final_work_file_path(current_artist=False)¶ Возвращает путь и версию последнего рабочего файла, для взятия в работу. Логика тут Task.
Параметры: current_artist ( edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user()Результат: (True, ( path,version)) или (False, comment), если нет ни одного лога вернёт (True, ('','')).Тип результата: tuple
-
get_list(asset_id=False, task_status=False, artist=False)¶ Получение списка задач ассета (экземпляры).
Параметры: - asset_id (str, optional) –
idассета. Передаётся, если список задач требуется не для ассета данной задачи, который есть -edit_db.task.asset. - task_status (str, optional) – Фильтр по статусам задач. Значение из
edit_db.studio.task_status. - artist (str) – Фильтр по
usernameартиста.
Результат: (True,
[список задач - экземпляры]) или (False, коммент)Тип результата: tuple
- asset_id (str, optional) –
-
get_new_cache_file_path(cache_dir_name, activity='cache', extension='.pc2', task_data=False)¶ Путь к новой версии кеша для меш объекта.
Параметры: - cache_dir_name (str) – Имя директории состоиит из имени ассета и имени меш объекта, через нижнее подчёркивание:
asset_name+'_'+ob_name. - activity (str, optional) – По умолчанию
'cache'(для blender) - для других программ может быть другим, например'maya_cache'. - extension (str, optional) – Расширение файла кеша.
- task_data (dict) – Не использовать. Работа с текущим объектом.
Результат: (True, (
new_dir_path,new_file_path)) или (False, comment)Тип результата: tuple
- cache_dir_name (str) – Имя директории состоиит из имени ассета и имени меш объекта, через нижнее подчёркивание:
-
get_new_publish_file_path(republish=False, source_log=False, source_version=False)¶ Пути до файлов новой
publishверсии (иtop, и версию, на локальном сервере студии).Параметры: - republish (bool, optional) – Репаблиш или нет.
- source_log (dict, optional) – лог источника для паблиша (
pushилиpublish), при наличие этого лога версияsource_versionпередавать не имеет смысла. - source_version (int, str, optional) – Версия исходника (
pushилиpublish) если False - последняя версия.
Результат: - для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES- (True, ({path_data}[6],new_version,source[7],branches[8])) или (False, comment) - для остальных - (True, (
{path_data}[9],new_version,source[7])) или (False, comment)
[6] Структура словаря
{path_data}:{ 'top_path': { branch_name : path, ... }, 'top_look_path': { branch_name : path, ... }, 'version_path': { branch_name : path, ... }, 'version_look_path': { branch_name : path, ... }, 'source_path': { branch_name : path, ... }, 'source_look_path': { branch_name : path, ... }, }
Тип результата: tuple
[7] (1, 2) Версия
pushилиpublish, откуда делается паблиш.[8] Список веток которые паблишатся.
[9] Структура словаря
{path_data}:{ 'top_path': path, 'version_path': path, 'source_path': path, }
-
get_new_push_file_path(version=False, current_artist=False)¶ Возвращает как новые пути и версию для операции
push, так и пути и версии исходников изworkдиректории.Параметры: - version (str, int, optional) – Коммит версия исходника (не для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES, для задач с этим типом делаетсяpushтолько последних версий каждой ветки). - current_artist (
edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user()
Результат: - для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES- (True, ({path_data}[3],new_version)) или (False, comment) - для остальных - (True, (
source_path,source_version,source_branch,new_path,new_version)) - или (False, comment)
[3] Структура словаря
{path_data}:{ 'source_path': { branch_name : path, ... }, 'source_versions': { branch_name : version, ... }, 'push_path': { branch_name : path, ... }, 'look_path': { branch_name : path, ... }, }
Тип результата: tuple
- version (str, int, optional) – Коммит версия исходника (не для задач с типом из
-
get_new_work_file_path()¶ Создание пути для новой
commitилиpullверсии файла.Результат: (True, ( path,version)) или (False, comment)Тип результата: tuple
-
get_tasks_by_name_list(task_name_list, assets_data=False)¶ Возвращает задачи (экземпляры) по списку имён задач, из различных ассетов данного проекта.
Параметры: - task_name_list (list) – Список имён задач.
- assets_data (dict, optional) – Словарь всех ассетов проекта (экземпляры) с ключами по именам. Результат выполнения функции
edit_db.asset.get_dict_by_name_by_all_types(). Если не передавать - будет произведено чтение БД.
Результат: (True,
dikt_of_tasks[12]) или (False, comment)[12] Структура
dikt_of_tasks:{ task_name : task_ob (экземпляр задачи), ... }
Тип результата: tuple
-
get_version_cache_file_path(version, cache_dir_name, activity='cache', extension='.pc2', task_data=False)¶ Путь к определённой версии файла кеша меш объекта.
Параметры: - version (str) – Версия
hex4 символа?. - cache_dir_name (str) – Имя директории состоиит из имени ассета и имени меш объекта, через нижнее подчёркивание:
asset_name+'_'+ob_name. - activity (str, optional) – По умолчанию
'cache'(для blender) - для других программ может быть другим, например'maya_cache'. - extension (str, optional) – Расширение файла кеша.
- task_data (dict) – Не использовать. Работа с текущим объектом.
Результат: (True,
path) или (False, comment)Тип результата: tuple
- version (str) – Версия
-
get_version_publish_file_path(version=False, branches=False, version_log=False)¶ Пути до файлов указанной
publishверсии (на локальном сервере студии).Параметры: - version (str, int, optional) – Номер
publishверсии. - branches (list, optional) – Список веток данного паблиша, для мультипаблиша.
- version_log (dict) – Словарь лога данной версии, если его передавать, то
branchesиversionне имеют смысла.
Результат: - для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES- (True,{path_data}[4]) или (False, comment) - для остальных - (True,
path) - или (False, comment)
[4] Структура словаря
{path_data}:{ 'look_path': { branch_name : path, ... }, 'publish_path': { branch_name : path, ... }, }
Тип результата: tuple
- version (str, int, optional) – Номер
-
get_version_push_file_path(version, current_artist=False)¶ Возвращает путь к указанной
pushверсии файла (на локальном сервере студии).Параметры: - version (str, int) – Номер версии
- current_artist (
edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user()
Результат: - для задач с типом из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES- (True,{path_data}[2]) или (False, comment) - для остальных - (True,
path) - или (False, comment)
[2] Структура словаря
{path_data}:{ 'look_path': { branch_name : path, ... }, 'push_path': { branch_name : path, ... }, }
Тип результата: tuple
-
get_version_work_file_path(version)¶ Возвращает путь до указанной версии рабочего файла. (обёртка на
edit_db.studio._template_get_work_path())Параметры: version (str, int) – Номер версии Результат: (True, path) или (False, comment) Тип результата: tuple
-
get_versions_list_of_cache_by_object(ob_name, activity='cache', extension='.pc2', task_data=False)¶ Список версий кеша для меш объекта.
Параметры: - ob_name (str) – Имя 3d объекта.
- activity (str, optional) – По умолчанию
'cache'(для blender) - для других программ может быть другим, например'maya_cache'. - extension (str, optional) – Расширение файла кеша.
- task_data (dict) – Не использовать. Работа с текущим объектом.
Результат: (True,
cache_versions_list[11]) или (False, comment)[11] Структура
cache_versions_list(список кортежей):[ (num_version '''str''', ob_name, path), ... ]
Тип результата: tuple
-
init(task_name, new=True)¶ Инициализация по имени, возвращает новый, или инициализирует текущий экземпляр.
Параметры: - task_name (str) – Имя задачи
- new (bool) – Если True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий экземпляр.
Результат: - если new= True - экземпляр класса
edit_db.task, - если new= False - (True, „Ok!“) или (False, comment)
Тип результата: edit_db.task, tuple
-
init_by_keys(keys, new=True, new_asset=False)¶ Инициализация по словарю (без чтения БД), возвращает новый, или инициализирует текущий экземпляр.
Параметры: - keys (dict) – словарь по
edit_db.studio.tasks_keys - new (bool, optional) – если True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий.
- new_asset (
edit_db.asset, optional) – Новый экземпляр ассета, если надо его поменять, либо определить.
Результат: - если new= True - экземпляр класса
edit_db.task, - если new= False - (True, „Ok!“) или (False, comment)
Тип результата: edit_db.task, tuple- keys (dict) – словарь по
-
look(action='push', version=False, launch=True)¶ Просмотр какой-либо версии файла для менеджеров (
push,publishверсии).Примечание
Если тип задачи из
edit_db.studio.MULTI_PUBLISH_TASK_TYPES(напримерsketch) то запуска не будет, но будут возвращены пути.Параметры: - action (str, optional) – Экшен из [
push,publish] - version (int, str, optional) – Версия, если False - то открывается последняя.
- launch (bool, optional) – Если False - возвращает только путь, иначе запуск редактором по расширению.
Результат: Возвращаемые данные аналогичны тому что возвращается при выполнении функций:
Тип результата: tuple
- action (str, optional) – Экшен из [
-
make_first_reader(username)¶ обозначение превого проверяющего, только после его проверки есть смысл проверять остальным проверяющим, и только после его приёма данная задача появится в списке на проверку у остальных читателей. Предполагается что это технический проверяющий от отдела, где идёт работа.
Параметры: username (str) – Никнейм. Результат: (True, readers- (слорварь в формате записи какedit_db.task.readers),change_status- (bool)) или (False, comment)Тип результата: tuple
-
open_file(look=False, current_artist=False, tasks=False, input_task=False, open_path=False, version=False, launch=True)¶ Откроет файл в приложении - согласно расширению.
Примечание
заполнение:
edit_db.task.time,edit_db.task.full_time,artist_log.full_timeПараметры: - look (bool, optional) – Если True - то статусы меняться не будут, если False - то статусы меняться будут.
- current_artist (
edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user() - tasks (dict, optional) – Словарь задач данного артиста по именам (результат функции
edit_db.artist.get_working_tasks()). - нужен для случая когдаlook= False, при отсутствии будет считан - лишнее обращение к БД. - input_task (
edit_db.task, optional) – Входящая задача - дляopen_from_input(если передавать - то имеется ввиду открытие из активити входящей задачи). - open_path (str, optional) – Путь к файлу - указывается для
open_from_file(открытие из указанного файла). - version (str, int, optional) – Версия рабочего файла активити - если указать то будет открытие рабочего файла этой версии.
- launch (bool, optional) –
- Если True - то будет произведён запуск приложением, которое установлено в соответствии с данным расширением файла (для универсальной юзерской панели и для менеджерской панели, при открытии на проверку),
- если False - то запуска не будет, но все смены статусов произойдут и будет возвращён путь к файлу - для запуска из плагина.
Результат: (True,
file_path- куда открывается файл) или (False, coment).Тип результата: tuple
-
publish_task(description=False, republish=False, source_version=False, source_log=False, current_artist=False)¶ Перекладывание паблиш версии файлов (в том числе
topверсии), запись лога.Параметры: - description (str, optional) – Краткое описание, не обязательный параметр, при отсутствии составляется автоматически - техническое описание: что, откуда, куда.
- republish (bool, optional) – Если True - то делается репаблиш, а именно перезапись в финал и в
top, какой-либо указанной паблиш версии. - source_version (str, int, optional) – Версия
pushилиpublish(при репаблише), если False при паблише - то паблиш из последней пуш версии. - source_log (dict, optional) – Лог версии источника, при его наличии
source_versionне имеет смысла. - current_artist (
edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user()
Результат: (True, message) или (False, comment).
Тип результата: tuple
-
push(description, version=False, current_artist=False)¶ Создание новой
pushверсии на сервере студии, или выгрузка архива в облако для созданияpushверсии на сервере студии (для аутсорса).Внимание
Для аутсорса пока не сделано, только для работников студии.
Параметры: - description (str) – Краткое описание.
- version (str, int, optional) –
workверсия из которой делаетсяpush, не имеет смысла для задач с типом изedit_db.studio.MULTI_PUBLISH_TASK_TYPES, там только из последней версии. - current_artist (
edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделаноedit_db.artist.get_user()
Результат: (True, message) или (False, comment)
Тип результата: tuple
-
readers_accept_task(current_artist)¶ приём задачи текущим проверяющим, изменение статуса в
edit_db.task.readers, если он последний то смена статуса задачи наdone(со всеми вытикающими сменами статусов).Параметры: current_artist ( edit_db.artist) – Артист - экземпляр.Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
remove_readers(remove_readers_list)¶ Удаляет проверяющего из списка проверяющих, а также удалит его как первого проверяющего, если он таковой.
Параметры: remove_readers_list (list) – Список никнеймов удаляемых из списка проверяющих. Результат: (True, readers- (слорварь в формате записи какedit_db.task.readers),change_status- (bool)) или (False, comment)Тип результата: tuple
-
return_a_job_task()¶ Возврат в работу задачи из завершённых статусов -
edit_db.studio.END_STATUSES, со всеми вытекающими изменениями статусов исходящих задачь. Изменяемый параметрedit_db.task.status.Результат: (True, new_status) или (False, comment)Тип результата: tuple
-
rework_task(current_user)¶ Отправка задачи на переработку из статуса на проверке (
ready_to_send), при этом проверяется наличие свежего (последние 30 минут) коментария от данного проверяющего (current_user). Изменяемый параметрedit_db.task.status.Параметры: current_user ( edit_db.artist) – Экземпляр класса артист, должен быть инициализирован. Если передать False - то задача отправится на переделку без проверки чата (для тех нужд).Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-
run_file(path, viewer=False)¶ Запуск файлов редактором или вьювером, создание
tmpкопии файла.Параметры: - path (str) – Путь до оригинального файла.
- viewer (bool, optional) – Если True - открытие вьювером по оригинальному пути (
tmpкопии не создаётся).
Результат: (True,
path[10]) или (False, comment)[10] path- путь до открываемого файла, оригинальный илиtmp.Тип результата: tuple
-
to_checking()¶ Отправка текущей задачи на проверку. Обёртка на
edit_db.task.change_work_statuses. Изменение параметраedit_db.task.statusнаready_to_send.Результат: (True, „Ok!“) или (False, comment) Тип результата: tuple
-