Class Chat(studio)

class edit_db.chat(task_ob)

level = „project“

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

chats_keys = {
'message_id':'text',
'date_time': 'timestamp',
'date_time_of_edit': 'timestamp',
'author': 'text',
'topic': 'json',
'color': 'json',
'status': 'text',
'reading_status': 'json',
}

Examples

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

import edit_db as db

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

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

id сообщения

Type:str
date_time

Время и дата создания записи.

Type:timestamp
date_time_of_edit

Время и дата изменения записи.

Type:timestamp
author

username автора записи.

Type:str
topic

Словарь данных сообщения, ключи - номера строк в ковычках, значения - список из трёх значений: путь к изображению, путь к иконке изображения, сообщение. {'num_line' : [path_to_img, path_to_icon, message], …}

Type:dict
color

[r,g,b] значения цвета от 0 до 1.

Type:list
status

Статус.

Type:str
reading_status

??

Type:dict
task

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

Type:edit_db.task
edit_message(message_id, new_data, artist_ob=False)

Изменение записи автором сообщения.

Параметры:
  • message_id (str) – id редактируемого сообщения.
  • new_data (dict) – Словарь данных на замену - topic, color.
  • artist_ob (edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделано edit_db.artist.get_user(), обращение к БД.
Результат:

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

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

tuple

read_the_chat(message_id=False, sort_key=False, reverse=False)

Чтение сообщений чата задачи.

Параметры:
  • message_id (str, optional) – id читаемого сообщения, если False - то читаются все сообщения чата.
  • sort_key (str, optional) – Ключ по которому сортируется список. Если False то сортировки не происходит.
  • reverse (bool) – Если True - то делается реверсивная сортировка, имеет смысл только если передаётся sort_key. !!! Пока не испоьзуется.
Результат:

(True, [messages (словари)]) или (False, comment)

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

tuple

record_messages(input_keys, artist_ob=False)

Запись сообщения в чат для задачи.

Параметры:
  • input_keys (dict) – Словарь по edit_db.studio.chats_keys - обязательные ключи: 'topic', 'color', 'status', 'reading_status'. ??????? список обязательных полей будет пересмотрен
  • artist_ob (edit_db.artist, optional) – Текущий пользователь, если не передавать, будет сделано edit_db.artist.get_user(), обращение к БД.
Результат:

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

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

tuple