Class Project

project(studio)

level = ‘studio’

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

projects_keys = {
'name': 'text',
'path': 'text',
'status': 'text',
'project_database': 'json',
'chat_img_path': 'text',
'list_of_assets_path': 'text',
'preview_img_path': 'text',
'fps': 'real',
'units': 'text',
}

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

import edit_db as db

project = db.project()

Атрибуты

name:(str) - имя проекта (уникально).
path:(str) - путь до директории проекта.
status:(str) - ['active', 'none']
project_database:
 (list) - параметры используемой базы данных, по умолчанию: ['sqlite3', False]
chat_img_path:(str) - путь до директории с картинками чата.
list_of_assets_path:
 (str) - путь до файла с временными данными создаваемых ассетов.
preview_img_path:
 (str) - путь до директории с превью картинок чата.
fps:(float) - fps проекта (по умолчанию 24).
units:(str) - юниты 3d сцен ['m', 'cm', 'mm'] по умолчанию 'm'
list_active_projects:
 (list) - атрибут класса список активных проектов, только имена. . Заполняется при выполнеии метода get_list, значение по умолчанию - [].
list_projects:(list) - атрибут класса список всех проектов (экземпляры). Заполняется при выполнеии метода get_list, значение по умолчанию - [].
dict_projects:(dict) - атрибут класса словарь содержащий все проекты (экземпляры) с ключами по именам. . Заполняется при выполнеии метода get_list, значение по умолчанию - {}.

Методы

add_project(project_name, project_path)

создаёт проект.

Note

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

Параметры:

  • project_name (str) - имя проекта, если имя не указано, но указана директория, проект будет назван именем директории
  • project_path (str - path) - путь к директории проекта, если путь не указан, директория проекта будет создана в директории студии
  • return - (True, ‘Ok!’) или (False, comment)
init(name[, new=True])

инициализирует экземпляр по имени (заполняет поля экземпляра), чтение БД.

Параметры:

  • name (str) - имя проекта
  • new (bool) - если new= True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий экземпляр
  • return - новый экземпляр (project) / (True, ‘Ok!’) или (False, comment)
init_by_keys(keys[, new=True])

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

Параметры:

  • keys (dict) - словарь по projects_keys
  • new (bool) - если new= True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий экземпляр
  • return - новый экземпляр (project) / (True, ‘Ok!’) или (False, comment)
get_list()

чтение существующих проектов.

Note

не возвращает экземпляры, только заполняет поля класса: list_active_projects, list_projects, dict_projects. (см. Атрибуты )

  • return - (True, ‘Ok!’) или (False, comment)
rename_project(new_name)

переименование проекта (данного экземпляра), заполняются поля экземпляра, перезагружает studio.list_projects. ????

Параметры:

  • new_name (str) - новое имя отдела
  • return - (True, ‘Ok!’) или (False, comment).
remove_project()

удаляет проект из БД (не удаляя файловую структуру), перезагружает studio.list_projects ???, приводит экземпляр к сосотоянию empty (все поля по projects_keys = False).

Параметры:

  • return - (True, ‘Ok!’) или (False, comment).
edit_status(status)

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

Параметры:

  • status (str) - присваиваемый статус
  • return - (True, ‘Ok!’) или (False, comment)
change_fps(fps)

изменение fps проекта, предполагается автоматическое назначение этого параметра в сценах.

Параметры:

  • fps (float) - fps
  • return - (True, ‘Ok!’) или (False, comment)
change_units(fps)

изменение юнитов проекта, параметр для 3d сцен. Предполагается автоматическое назначение этого параметра в сценах.

Параметры:

  • units (str) - юниты для 3d сцен, значение из studio.projects_units
  • return - (True, ‘Ok!’) или (False, comment)

Служебные

__make_folders(root)

создаёт файловую структуру проекта, при отсутствии.

Параметры:

  • root (str - path) - корневой каталог проекта
  • return - None.
_write_settings()

запись настроек проекта в файл project_path/studio.PROJECT_SETTING

Note

Выполнять в каждой процедуре по редактированию параметров проекта.

Параметры:

  • return - (True, ‘Ok!’) или (False, comment)
_read_settings()

чтение словаря параметров проекта из файла project_path/studio.PROJECT_SETTING

Параметры:

  • return:
    • data - словарь по ключам studio.projects_keys
    • None в случае остутствия файла.