Class Artist(studio)¶
-
class
edit_db.artist¶ level = „studio“
Данные хранимые в БД (имя столбца : тип данных)
edit_db.studio.artists_keys:artists_keys = { 'username': 'text', 'user_name': 'text', 'password': 'text', 'first_name': 'text', 'last_name': 'text', 'date_joined': 'timestamp', 'date_joined_to_studio' : 'timestamp', 'email': 'text', 'phone': 'text', 'specialty': 'text', 'profile': 'json', 'outsource': 'integer', 'workroom': 'json',# список id отделов 'level': 'text', 'share_dir': 'text', 'status': 'text', 'working_tasks': 'json',# список имён назначенных в работу задач 'checking_tasks': 'json',# список имён назначенных на проверку задач }
Examples
Создание экземпляра класса:
import edit_db as db artist = db.artist()
-
username¶ Никнейм (уникально).
Type: str
-
user_name¶ Юзернейм в текущей системе, откуда сделан вход.
Type: str
-
password¶ Пароль в текстовом виде.
Type: str
-
first_name¶ Имя.
Type: str
-
last_name¶ Фамилия.
Type: str
-
date_joined¶ Дата и время регистрации.
Type: timestamp
-
date_joined_to_studio¶ Дата и время регистрации в студии.
Type: timestamp
-
email¶ Email
Type: str
-
phone¶ Номер телефона
Type: str
-
specialty¶ Специализация.
Type: str
-
profile¶ Словарь специфичных данных, как ссылки на портфолио и прочее.
Type: dict
-
outsource¶ Статус аутсорса: 0 или 1
Type: int
-
workroom¶ Список id отделов, в которых сосотоит артист.
Type: list
-
level¶ Уровень, значение из
edit_db.studio.USER_LEVELSType: str
Путь к директории обмена
пока не используетсяType: str
-
status¶ Статус активности пользователя, значение из [
'active','none'] -Возможно перейти на булевские значения?.Type: str
-
working_tasks¶ Словарь списков имён назначенных задач, (по именам отделов
?).Type: dict
-
checking_tasks¶ Словарь списков имён назначенных на проверку задач, (по именам отделов
?).Type: dict
-
add_artist(keys, registration=True, cloud=False)¶ Добавление нового пользователя.
Параметры: - keys (dict) – Словарь по ключам
edit_db.studio.artists_keys, обязательные поля -usernameиpassword. - registration (bool, optional) –
- Если =*True* - произойдёт заполнение полей
edit_db.studio.artists_keysэкземпляра класса, полеuser_nameбудет заполнено. - Если =*False* - поля заполняться не будут, поле
user_name- останется пустым.
- Если =*True* - произойдёт заполнение полей
Результат: (True, „Ok!“) или (False, comment).
Тип результата: tuple
- keys (dict) – Словарь по ключам
-
edit_artist(keys, current_user=False)¶ Редактирование данного (инициализированного) экземпляра артиста.
Примечание
Для django редактирует только параметры модели
edit_db.models.StudioMemberи группы данной студии (django.contrib.auth.models.Group).Параметры: - keys (dict) – данные на замену -
username- не редактируется, не зависимо от того передан или нет. - current_user (
edit_db.artist, str, optional) – редактор - залогиненный пользователь, если False - то будет создан новый экземпляр и произведеноedit_db.artist.get_user()(лишнее обращени е к БД) . если передать'force'- проверки уровней и доступов не выполняются.
Результат: (True, «Ok!») или (False, comment)
Тип результата: tuple
- keys (dict) – данные на замену -
-
get_artists_for_task_type(task_type, workroom_ob)¶ Возвращает активных артистов подходящих для данного типа задачи (сортированный список имён и словарь по именам).
Параметры: - task_type (str) – Тип задачи.
- workroom_ob (
edit_db.workroom) – Любой экземпляр отдела, предполагается что выполнена процедураedit_db.workroom.get_list()и заполнено полеedit_db.workroom.list_workroom(список отделов).
Результат: (True, [сортированный список имён артистов], {словарь артистов по именам}) или (False, comment).
Тип результата: tuple
-
get_reading_tasks(project_ob, status=False)¶ получение словаря задач (по именам) назначенных на артиста в качестве проверяющего.
Параметры: - project_ob (
edit_db.project) – Проект для которого ищется список задач. - status (str) – Возвращает задачи соответствующие данному статусу, если не передавать - то все статусы.
Результат: (True, {
task_name:task_ob, …}) или (False, comment)Тип результата: tuple
- project_ob (
-
get_user(outsource=False, cloud=False)¶ Определение текущего пользователя, инициализация текущего экземпляра. В случае
sqlite3происходит чтение БД, в случаеdjango- чтение файлаedit_db.studio.USER_DATA_FILE_NAME.Параметры: - outsource (bool) – С точки зрения удалённого пользователя или нет.
- cloud (bool, str) – Определяет используемый интерфейс хранения данных. Если False то - локальная схема
sqlite3.
Результат: если
cloud= False: (True, (username,user_name,outsource(bool), {данные артиста - словарь})) или (False, comment). еслиcloud=django: (True, „ok!“) или (False, comment).Тип результата: tuple
-
get_working_tasks(project_ob, statuses=False)¶ Получение словаря задач (по именам) назначенных на артиста.
Параметры: - project_ob (
edit_db.project) – Проект для которого ищется список задач. - statuses (list) – Фильтр по статтусам (список статусов). Если не передавать - то все статусы.
Результат: (True, {
task_name:task_ob, …}) или (False, comment)Тип результата: tuple
- project_ob (
-
init(username, new=True, cloud=False)¶ Инициализация по имени, возвращает новый, или инициализирует текущий экземпляр.
Параметры: - username (str) – Ник нейм артиста.
- new (bool) – Если True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий экземпляр.
- cloud (bool, str) – Определяет используемый интерфейс хранения данных. Если False то - локальная схема
sqlite3.
Результат: - если new= True - экземпляр класса
edit_db.artist, - если new= False - (True, „Ok!“) или (False, comment)
Тип результата: edit_db.artist, tuple
-
init_by_keys(keys, new=True, cloud=False)¶ Инициализация по словарю (без чтения БД), возвращает новый, или инициализирует текущий экземпляр.
Параметры: - keys (dict) – Словарь по
edit_db.studio.artists_keys - new (bool, optional) – Если True - возвращает новый инициализированный экземпляр, если False то инициализирует текущий.
- cloud (bool, str) – Определяет используемый интерфейс хранения данных. Если False то - локальная схема
sqlite3.
Результат: - если new= True - экземпляр класса
edit_db.artist, - если new= False - (True, „Ok!“) или (False, comment)
Тип результата: edit_db.artist, tuple- keys (dict) – Словарь по
-
is_member()¶ Проверка является ли данный юзер, в составе данной студии. Для случая смены студии или перелогинивания пользователя.
Внимание
Пустая процедура.
Результат: (True, „Ok!“) или (False, commit) Тип результата: tuple
-
login_user(username, password, cloud=False)¶ Логин юзера.
Если
cloud=*False*: Перезаписывает текущее имя пользователя пк, в соответствие указанного ник-нейма, при этом проверит и удалит данное имя пользователя из под других ник-неймов. Произойдёт заполнение полейedit_db.artist.artists_keysэкземпляра класса.Если
cloud=*django* илиedit_db.studio.studio_database= django: * логинится через сайт, записывая файлыcookieиuser_data. * заполнит поля текущего экземпляра.Параметры: - username (str) – Никнейм.
- password (str) – Пароль
- cloud (bool, str) – Определяет используемый интерфейс хранения данных. Если False то - локальная схема
sqlite3.
Результат: Если
cloud=*False*: (True, (username,user_name)) или (False, comment). Еслиcloud=*django* илиedit_db.studio.studio_database= django: (True, {user_data}) или (False, comment).Тип результата: tuple
-
read_artists(keys, objects=True)¶ Чтение списка данных артистов.
Параметры: - keys (dict) – словарь по ключам
edit_db.studio.artists_keys- критерии для поиска, если ``keys``= „all“ вернёт данные по всем артистам. - objects (bool, optional) – Если True - вернёт экземпляры
edit_db.artist, если False - словари поedit_db.studio.artists_keys.
Результат: (True, [артисты - словари или экземпляры]) или (False, comment)
Тип результата: tuple
- keys (dict) – словарь по ключам
-
read_artists_of_workroom(wr, active=True, objects=True)¶ Чтение списка артистов отдела.
Параметры: - wr (str,
uuid.UUID,edit_db.workroom) –idотдела или экземпляр объекта отдела. - active (bool, optional) – Если True то вернётся список только активных атристов.
- objects (bool, optional) – Если True - вернёт экземпляры
edit_db.artist, если False - словари поedit_db.studio.artists_keys.
Результат: (True, {ключи -
username, значения - артисты (словари или экземпляры)}) или (False, comment).Тип результата: tuple
- wr (str,
-
test_unicum(name, cloud='django')¶ Проверка уникальности имени. Применяется при выборе имени для регистрации нового пользователя.
Параметры: - name (str) – Проверяемое имя.
- cloud (str) – Тип облака.
Результат: Если имя уникально: (True, comment) или: (False, comment)
Тип результата: tuple
-