Модуль cerebro.core для доступа к данным в приложении и к управляющим функциям.
cerebro.core.activities()
Результат: | виды деятельности. |
Тип результата: | cerebro.aclasses.Activities |
cerebro.core.application_dir()
Результат: | путь до директории приложения Cerebro. |
Тип результата: | string |
Предупреждение
Под операционной системой Mac OS X директорией приложения считается директория расположенная внутри пакета приложения - «Cerebro.app/Contents/MacOs/»
cerebro.core.current_attachment()
Результат: | вложение на котором активирован пользовательский пункт меню. |
Тип результата: | cerebro.aclasses.Attachment |
def example_attachment_menu():
# Скачивание вложения
attach = cerebro.core.current_attachment() # получаем текущее вложение, на котором было вызвано контекстное меню
file_name = cerebro.cargador.file_name_form_hash(attach.file_hash()) # пробуем получить имя файла по хешу
if not file_name or file_name == '': # если файла нет, пробуем его скачать
cerebro.cargador.download_file(attach.file_hash())
См.также
cerebro.core.current_message()
Результат: | сообщение на котором активирован пользовательский пункт меню. |
Тип результата: | cerebro.aclasses.Message |
Текущее сообщение может быть равно None, если пользователь активировал пункт меню не на конкретном сообщении. Однако, при этом могут быть выделенные пользователем сообщения, которые возвращаются в функции selected_messages()
def example_message_menu():
print('Вызов example_message_menu по клику пункта меню "Мой пункт меню в форуме"')
# Получаем текущее сообщение
message = cerebro.core.current_message()
if message:
print('Текущее сообщение', message.text_as_plain())
См.также
cerebro.core.current_task()
Результат: | текущая задача в графическом интерфейсе Cerebro. |
Тип результата: | cerebro.aclasses.Task |
def example_task_menu():
print('Вызов example_task_menu по клику пункта меню "Мой пункт меню"')
# Получаем текущую задачу
task = cerebro.core.current_task()
print('Текущая задача', task.name())
См.также
cerebro.core.has_flag(flags, flag)
Параметры: | |
Результат: | наличие выставленного флага flag в значении flags. |
Тип результата: | bool |
Проверяет, выставлен ли флаг flag в передаваемом значении флагов flags.
res = cerebro.core.has_flag(task.flags(), task.FLAG_HAS_CHILD)
print('Наличие подзадач у задачи task', res)
cerebro.core.has_perm_global(perm_type)
Параметры: | perm_type (int) – тип глобального действия, требующей разрешения. |
Результат: | True, если текущий пользователь имеет разрешение на глобальную операцию. |
Тип результата: | bool |
cerebro.core.has_perm_message(message_id, perm_type)
Параметры: | |
Результат: | True, если текущий пользователь имеет разрешение на операцию с сообщением. |
Тип результата: | bool |
Функция позволяет проверить имеет ли право пользователь выполнять те или иные действия с сообщением, например, переключить видимость для клиента.
cerebro.core.has_perm_task(task_id, perm_type)
Параметры: | |
Результат: | True, если текущий пользователь имеет разрешение на операцию с задачей. |
Тип результата: | bool |
Функция позволяет проверить имеет ли право пользователь выполнять те или иные действия с задачей, например, редактировать теги ли создавать к этой задаче подзадачи.
task = cerebro.core.current_task()
if cerebro.core.has_perm_task(task.id(), cerebro.aclasses.Perm.PERM_TASK_BUDGET):
task.set_budget(100)
cerebro.core.is_logon()
Результат: | True, если Cerebro в онлайне. |
cerebro.core.message(message_id)
Параметры: | message_id (int) – идентификатор сообщения. |
Результат: | сообщение по его идентификатору. |
Тип результата: | cerebro.aclasses.Message |
cerebro.core.notify_user(message, task_id=None, is_show_box=True)
Параметры: | |
cerebro.core.notify_user('Эта задача начнется через 5 минут', task.id())
cerebro.core.print_debug(level, text)
Параметры: | level (int) – уровень отладочной информации. |
Отладочная информация не выводится в консоль Cerebro, если level больше, чем настроен в Cerebro (Главное меню/Cerebro/Настройки/Уровень отладки).
См.также
cerebro.core.print_error(text)
Печатает ошибку в консоль Cerebro.
См.также
cerebro.core.print_info(text)
Печатает информацию в консоль Cerebro.
См.также
cerebro.core.print_warning(text)
Печатает предупреждение в консоль Cerebro.
См.также
cerebro.core.refresh_all()
Обновляет все данные в Cerebro.
Если вы производите масштабные изменения данных, не забывайте вызывать эту функцию для обновления всех закешированных данных в приложении Cerebro.
См.также
cerebro.core.refresh_tasks()
Обновляет дерево задач в Cerebro.
Если вы производите добавление задач или изменение их свойств, добавление/изменение сообщений, не забывайте вызывать эту функцию для обновления дерева задач в интерфейсе. Исключением являются функции обработки событий. Изменения, которые были произведены в этих функцях, обновляются автоматически.
tasks = cerebro.core.selected_tasks()
for task in tasks:
task.set_progress(100)
cerebro.core.refresh_tasks()
См.также
cerebro.core.root_tasks()
Результат: | список корневых задач. |
Тип результата: | list(cerebro.aclasses.Task) |
См.также
cerebro.core.selected_attachments()
Результат: | список выделенных вложений в окнах вложений (Поиск, Форум), на которых вызван пользовательский пункт меню. |
Тип результата: | list(cerebro.aclasses.Attachment) |
См.также
cerebro.core.selected_messages()
Результат: | выделенные пользователем сообщения при активации a user’s menu item is activated. |
Тип результата: | list(cerebro.aclasses.Message)) |
def example_message_menu():
print('Calling example_message_menu by click on "My Forum menu item"')
# Получаем выделенные сообщения
messages = cerebro.core.selected_messages()
if messages:
for message in messages:
print('Current message:', message.text_as_plain())
См.также
cerebro.core.selected_tasks()
Результат: | список выбранных(выделенных) задач в графическом интерфейсе Cerebro. |
Тип результата: | list(cerebro.aclasses.Task) |
def example_task_menu():
print('Вызов example_task_menu по клику пункта меню "Мой пункт меню"')
# Получаем выделенные задачи
tasks = cerebro.core.selected_tasks()
print('Выделенные задачи', len(tasks))
См.также
cerebro.core.set_current_task(task_id)
Параметры: | task_id (int) – идентификатор задачи. |
current_task = cerebro.core.current_task()
tasks = cerebro.core.task_children(current_task.id())
if len(tasks) > 0:
cerebro.core.set_current_task(tasks[0].id()) # устанавливаем новой текущей задачей первую подзадачу текущей задачи
См.также
cerebro.core.start_timer(function, interval)
Запускает таймер, который каждый раз по прошествии интервала времени будет запускать функцию function.
Параметры: | |
'имя_модуля.имя_функции'
Если ваш модуль лежит в пакете, то формат будет:
'имя_пакета.имя_модуля.имя_функции'
Предупреждение
sys.path должен содержать путь поиска вашего модуля/пакета.
# файл logon.py
# модуль logon
import cerebro
import examples
# Функция, в которой происходит обработка входа в Cerebro
def logon():
examples.logon.logon() # вызываем пример обработки входа
# файл examples/logon.py
# пакет examples
# модуль logon
import cerebro
def logon():
# Запуск таймера на вызов функции example_timer
cerebro.core.start_timer('examples.logon.example_timer', 1000) # запуск таймера каждую секунду
def example_timer():
print('Вызов example_timer по таймеру')
Для остановки таймера вызовите cerebro.core.stop_timer().
См.также
cerebro.core.statuses()
Результат: | статусы. |
Тип результата: | cerebro.aclasses.Statuses |
cerebro.core.stop_timer(function)
Останавливает таймер, который запускает функцию function.
Параметры: | function (string) – функция, которая была передана в cerebro.core.start_timer() при запуске таймера. |
# файл logoff.py
# модуль logoff
import cerebro
import examples
# Функция, в которой происходит обработка завершения сеанса Cerebro
def logoff():
examples.logoff.logoff() # вызываем пример обработки завершения сеанса Cerebro
return True
# файл examples/logoff.py
# пакет examples
# модуль logoff
import cerebro
def logoff():
# Останавливаем таймер на вызов функции example_timer, запущенный при входе в Cerebro
cerebro.core.stop_timer('examples.logon.example_timer')
print('Таймер на вызов example_timer остановлен')
См.также
cerebro.core.task(task_id)
Параметры: | task_id (int) – идентификатор задачи. |
Результат: | задача по её идентификатору. |
Тип результата: | cerebro.aclasses.Task. |
cerebro.core.task_children(task_id, with_references=False)
Параметры: | |
Результат: | список подзадач задачи с идентификатором task_id. |
Тип результата: | list(cerebro.aclasses.Task) |
Если with_references = True, то возвратится список вместе с ссылками на задачи, иначе без них. Если подзадач нет, возвратится None.
if cerebro.core.has_flag(task.flags(), task.FLAG_HAS_CHILD): # проверка на наличие подзадач
children = cerebro.core.task_children(task.id())
См.также
cerebro.core.to_do_task_list(user_id, with_done_task)
Параметры: | |
Результат: | список задач на которых пользователь назначен исполнителем. |
Тип результата: | list(cerebro.aclasses.Task) |
# Получаем все невыполненные задачи текущего пользователя
current_user = cerebro.core.user_profile()
tasks = cerebro.core.to_do_task_list(current_user[cerebro.aclasses.Users.DATA_ID], False)
cerebro.core.user_profile()
Результат: | профиль пользователя. |
Тип результата: | tuple. Данные кортежа описаны в классе cerebro.aclasses.Users |
profile = cerebro.core.user_profile()
print('e-mail пользователя', profile[cerebro.aclasses.Users.DATA_EMAIL])
cerebro.core.users()
Результат: | пользователи. |
Тип результата: | cerebro.aclasses.Users |
cerebro.core.version_app()
Результат: | версии сборки приложения. |
Тип результата: | string |
cerebro.core.version_python_api()
Результат: | версия программного интерфейса. |
Тип результата: | string |