Class Log(studio)

class edit_db.log(task_ob)

level = „project“

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

Лог экшена задачи (активити) из списка edit_db.log.log_actions. Одна запись на экшн. edit_db.studio.logs_keys.

logs_keys = {
'version': 'text',              # hex 4 символа
'date_time': 'timestamp',       # время и дата записи
'activity': 'text',             # ативити задачи
'task_name': 'text',            # имя задачи
'action': 'text',               # тип записи из log.log_actions
'artist': 'text',               # username артиста, кто делает запись
'description': 'text',          # коментарий
'source': 'json',               # для push - версия коммита источника (в случае sketch - список версий по всем веткам, порядок совпадает с порядком записи веток в branch), для publish - версия push источника.
'branch' : 'text',              # ветка - в случае push, publish (для sketch - список веток).
'time' : 'integer',             # время затраченное на commit, ед. измерения секунда.
}

Лог артиста по задачам. Одна запись на задачу. edit_db.studio.artists_logs_keys.

artists_logs_keys = {
'project_name': 'text',
'task_name': 'text',
'full_time': 'integer',         # суммарное время затраченое артистом на задачу, ед. измерения секунда.
'price': 'real',                # сумма начисленная за выполнение задачи. вносится по принятию задачи.
'start': 'timestamp',           # дата-время создания записи, запись создаётся при первом open задачи.
'finish': 'timestamp',          # дата-время принятия задачи.
}

Лог артиста по дням, заполняемый вручную: день/проект/задача/время. Одна запись на задачу в день. edit_db.studio.artists_time_logs_keys.

artists_time_logs_keys = {
'project_name':'text',
'task_name':'text',
'date':'timestamp',  # возможно только дата без времени?
'time':'integer',    # суммарное время затраченое артистом на задачу, ед. измерения секунда. Заполняется вручную.
}

Examples

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

import edit_db as db

project = db.project()
asset = db.asset(project)
task = db.task(asset)

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

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

Type:edit_db.task
artist_add_full_time(time, artist_ob=False)

Добавление временик full_time в лог артиста по задачам.

Параметры:
  • time (float) – Время затраченное на commit (секунды).
  • artist_ob (edit_db.studio.artist, optional) – Текущий пользователь, если не передавать, будет сделано edit_db.artist.get_user().
Результат:

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

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

tuple

artist_read_log(all=False, artist_ob=False)

Чтение логов артиста.

Параметры:
  • all (bool, optional) – Если True - то все логи этого артиста, если False - То только по этой задаче.
  • artist_ob (edit_db.studio.artist, optional) – Текущий пользователь, если не передавать, будет сделано edit_db.artist.get_user().
Результат:

  • Если all = True - (True, [список логов - словари]) или (False, comment).
  • Если all = False - (True, {лог - словарь}) или (False, comment).

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

tuple

artist_start_log(artist_ob=False)

Создание, при отсутствии, лога артиста по данной задаче, заполнение artist_log.start

Параметры:artist_ob (edit_db.studio.artist, optional) – Текущий пользователь, если не передавать, будет сделано edit_db.artist.get_user().
Результат:(True, „Ok!“) или (False, comment)
Тип результата:tuple
artist_write_log(keys, artist_ob=False)

Внесение изменений в лог артиста по задаче (кроме параметров из edit_db.log.no_editable_keys).

Параметры:
  • keys (dict) – Словарь данных на замену по ключам edit_db.studio.artists_logs_keys.
  • artist_ob (edit_db.studio.artist, optional) – Текущий пользователь, если не передавать, будет сделано edit_db.artist.get_user().
Результат:

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

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

tuple

camera_log_file_name = 'camera_logs.json'

Имя json файла куда записывается лог камеры. ?

Type:str
camera_read_log(task_data=False)

Чтение логов камеры шота.

Параметры:task_data (dict) – Словарь данных задачи, для которой делается чтение логов, если не передавать - то текущая. Лучше не использовать.
Результат:(True, [Список словарей логов камеры, сортированы по порядку создания]) или (False, comment).
Тип результата:tuple
camera_write_log(artist_ob, description, version, task_data=False)

Запись лога для сохраняемой камеры шота.

Параметры:
  • artist_ob (edit_db.artist) – Никнейм данного артиста записывается в лог.
  • description (str) – Комментарий.
  • version (str, int) – Номер версии. Лучше сделать автоопределение номера.
  • task_data (dict) – Словарь данных задачи, для которой делается запись, если не передавать - то текущая. Лучше не использовать.
Результат:

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

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

tuple

get_push_logs(task_data=False, time_to_str=False)

Возврат списка push логов для задачи.

Внимание

Возможно устарело!.

Параметры:
  • task_data (dict, optional) – Если False - значит текущая задача. лучше не использовать
  • time_to_str (bool, optional) – Если True - то преобразует дату в строку.
Результат:

(True, ([список словарей логов, сотрирован по порядку], [список наименований веток])) или (False, comment)

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

tuple

log_actions = ['pull', 'commit', 'push', 'publish', 'open', 'report', 'recast', 'change_artist', 'close', 'done', 'reader_accept', 'return_a_job', 'send_to_outsource', 'load_from_outsource']

Список возможных экшенов для задач.

Type:list
no_editable_keys = ['project_name', 'task_name', 'start']

Список параметров лога артиста, которые нельзя редактировать.

playblast_log_file_name = 'playblast_logs.json'

Имя json файла куда записывается лог плейбласта. ?

Type:str
playblast_read_log(task_data=False)

Чтение логов плейбластов шота.

Параметры:task_data (dict) – Словарь данных задачи, для которой делается чтение логов, если не передавать - то текущая. Лучше не использовать.
Результат:(True, [Список словарей логов, сортированы по порядку создания]) или (False, comment).
Тип результата:tuple
playblast_write_log(artist_ob, description, version, task_data=False)

Запись лога создаваемого плейбласта шота.

Параметры:
  • artist_ob (edit_db.artist) – Никнейм данного артиста записывается в лог.
  • description (str) – Комментарий.
  • version (str, int) – Номер версии. Лучше сделать автоопределение номера.
  • task_data (dict) – Словарь данных задачи, для которой делается запись, если не передавать - то текущая. Лучше не использовать.
Результат:

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

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

tuple

read_log(action=False, branch=False)

Чтение лога активити задачи. Заполняет edit_db.task.branches.

Параметры:
  • action (str, list, optional) – Фильтр по экшенам. Если False - то возврат для всех action, если str (название экшена) - то все логи по данному экшену, если list (список наименований экшенов) - то будет использован оператор WHERE OR тоесть возврат по всем перечисленным экшенам.
  • branch (str, optional) – Фильтр по веткам, если False - то вернёт логи для всех веток.
Результат:

(True, ([список словарей логов, сотрирован по порядку], [список наименований веток])) или (False, comment)

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

tuple

write_log(logs_keys, artist_ob=False)

Запись лога активити задачи.

Параметры:
Результат:

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

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

tuple