Django Connect

Возвращает путь до файла cookie.

Параметры:studio (edit_db.studio) – Экземпляр объетка студии или любого из его потомков.
Результат:Путь до файла cookie.
Тип результата:path
django_connect._get_user_data_path(studio)
Параметры:studio (edit_db.studio) – Экземпляр объетка студии или любого из его потомков.
django_connect._input_data_converter(type_dict, data)

Преобразует данные полученные от django согласно типу из type_dict.

Преобразует:

  • дату время из iso.
  • строки в json.dumps (если тип данных в type_dict = json).
  • hex в uuid (для id).
Параметры:
  • type_dict (dict) – Словарь типа данных данного объекта в Линейке (например edit_db.studio.workroom_keys).
  • data (dict) – Словарь объекта полученного от django.
Результат:

Словарь объекта с преобразованными данными.

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

dict

django_connect._make_sess(lnk_object)

Создаёт сессию с куком сессии авторизованного пользователя. Чтение файла cookie.

Параметры:lnk_object (edit_db.studio) – Объект студии, или любого из его потомков.
Результат:Сессия
Тип результата:requests.Session
django_connect._output_data_converter(type_dict, inst, from_dict=False)

Преобразует данные для отправки в django.

Преобразует:

  • дату время в iso.
  • Итерируемые объекты в строки (если тип данных в type_dict = json).
  • uuid в hex (для id).
  • добавляет studio_name.
Параметры:
  • type_dict (dict) – Словарь типа данных данного объекта в Линейке (например edit_db.studio.workroom_keys).
  • inst (объект линейки, dict) – Объект линейки, преобразуемый в словарь для передачи в линейку или уже словарь (если from_dict = True).
  • from_dict (bool) – Если False - то inst это объект линейки, если True - то словарь.
Результат:

Словарь объекта с преобразованными данными в строковом представлении.

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

str

Параметры:studio (edit_db.studio) – Экземпляр объетка студии или любого из его потомков.
Параметры:
  • studio (edit_db.studio) – Экземпляр объетка студии или любого из его потомков.
  • cookie (dict) – словарь кука
django_connect._write_user_data(studio, user_data)
Параметры:
  • studio (edit_db.studio) – Экземпляр объетка студии или любого из его потомков.
  • user_data (dict, str) – Словарь данных пользователя.
django_connect.get_user_data(artist)

Чтение словаря данных залогиненного пользователя из локального файла.

Параметры:artist (edit_db.artist) – Экземпляр объетка edit_db.artist.
django_connect.is_member(studio, username)

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

Внимание

Пустая процедура. Принадлежность к студии проверяется декоратором permissions.is_studio_member

Результат:(True, „Ok!“) или (False, commit)
Тип результата:tuple
django_connect.login(studio, username, password)

Логин, запись файлов edit_db.studio.COOKIE_NAME и edit_db.studio.USER_DATA_FILE_NAME.

Параметры:
  • studio (edit_db.studio) – Экземпляр объетка edit_db.studio или любого из его потомков.
  • username (str) –

  • password (str) –

Результат:

(True, {User.__dict__}) или (False, comment)

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

tuple

django_connect.studio_create(studio, studio_name, studio_label)

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

  • Создание объекта Studio.
  • Создание группы (Group) с именем <studio_name>_head.
  • Создание для группы permissions расширенных прав: 'add', 'change', 'delete', 'view'.
  • Добавление текущего пользователя в группу и в студию.
Параметры:
  • studio_name (str) – Имя студии.
  • studio_label (str) – Лейбл студии.
Результат:

(True, {studio_dict}) или (False, comment).

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

tuple

django_connect.studio_get_groups(studio)

Получение списка групп (уровни) студии.

Примечание

params[„studio_name“] передаётся и для permission_required и для чтения списка групп.

Параметры:studio (edit_db.studio) – Экземпляр читаемого объетка edit_db.studio.
Результат:(True, [список имён групп]) или (False, comment)
Тип результата:tuple
django_connect.studio_get_list(studio)
Параметры:studio (edit_db.studio) – Экземпляр объетка edit_db.studio или любого из его потомков.
Результат:(True, [список словарей]) или (False, comment)
Тип результата:tuple
django_connect.studio_member_edit(artist, new_data)

Редактирование праметров модели StudioMemder, и смена группы (передаётся как new_data['level']).

Параметры:
  • artist (edit_db.artist) – Экземпляр класса edit_db.artist.
  • new_data (dict) – Словарь данных на замену.
Результат:

(True, „ok“) или (False, comment)

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

tuple

django_connect.test_exists_object(studio, model, field, value, translit=True)

Проверка наличия модели со значением определённого параметра.

Примечание

Выполняется запрос count={model}.objects.filter({field}="{value}").count()

Параметры:
  • studio (edit_db.studio) – Экземпляр объетка edit_db.studio или любого из его потомков.
  • model (str) – Название django модели, нпример User.
  • field (str) – Название поля модели, например username.
  • value (str) – Значение данного поля. Для данного значения может быть сделана транслитерация.
  • translit (bool, optional) – Если True - то будет произведена транслитерация value.
Результат:

(True, comment) если совпадений нет, или (False, comment) если совпадение есть.

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

tuple

django_connect.user_get(artist, username, write_data=False)

Чтение данных артиста для текущей студии.

Внимание

Глюченная, требует переработки если понадобиться (оставить только GET).

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

(True, {User.__dict__}) или (False, comment)

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

tuple

django_connect.user_read_artists(studio, keys)

Возвращает список словарей `артистов удовлетворяющих **keys.

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

(True, [{User.__dict__}, …]) или (False, comment)

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

tuple

django_connect.user_registration(studio, username, email, password, login=False)

Создание облачных пользователей.

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

(True, {User.__dict__}) или (False, comment)

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

tuple

django_connect.workroom_add(workroom, wr_name, wr_type)
Параметры:
  • workroom (edit_db.workroom) – Экземпляр объетка edit_db.workroom.
  • wr_name (str) – Имя создаваемого объекта.
  • wr_type (list) – Список типов для создаваемого отдела.
Результат:

(True, {Словарь созданного отдела}) или (False, comment)

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

tuple

django_connect.workroom_edit_artists(workroom, artists, action)

Удаление из отдела или добавление в отдел списка артистов.

Параметры:
  • workroom (edit_db.workroom) – Объект изменяемого отдела `артисты.
  • artists (list) – Список удаляемых или добавляемых артистов (объекты :obj:`edit_db.artist).
  • action (str) – Совершаемое действие 'remove' или 'add'.
Результат:

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

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

tuple

django_connect.workroom_edit_type(workroom, new_type)
Параметры:
  • workroom (edit_db.workroom) – Экземпляр изменяемого объетка edit_db.workroom.
  • new_type (list) – Список новых типов задач для отдела.
Результат:

(True, {словарь отдела}) или (False, comment)

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

tuple

django_connect.workroom_get_artists(workroom)

Получение списка артистов отдела.

Примечание

params[„studio_name“] передаётся для permission_required.

Параметры:workroom (edit_db.workroom) – Экземпляр читаемого объетка edit_db.workroom.
Результат:(True, [список словарей артистов]) или (False, comment)
Тип результата:tuple
django_connect.workroom_get_list(studio)
Параметры:studio (edit_db.studio) – Экземпляр объетка edit_db.studio или любого из его потомков.
Результат:(True, [список словарей]) или (False, comment)
Тип результата:tuple
django_connect.workroom_rename(workroom, new_name)
Параметры:
Результат:

(True, {словарь отдела}) или (False, comment)

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

tuple