10.6.9. Класс cerebro.events.BeforeEventChangingOfAttachments

class cerebro.events.BeforeEventChangingOfAttachments(event_type, event_id)[исходный код]
Базовые классы: cerebro.events.EventChangingOfAttachments

Класс для события изменения какого-либо свойства у одной или сразу нескольких вложений. Предоставляет доступ к данным редактируемых вложений перед записью в базу данных.

Примечание

Изменение может происходить сразу у нескольких сообщений и для всех однотипных изменений генерируется одно событие.

Методы

Предупреждение

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

Объект класса передается в функции before_event и error_event (в случаи возникновения ошибки) модуля event.

def before_event(event):        
        if event.event_type() == event.EVENT_CHANGING_OF_MESSAGE_APPROVED:
                ...
new_value()[исходный код]
Результат:новое значение редактируемого свойства.

Тип возвращаемого значения зависит от редактирумого свойства. Для определения нужного типа смотрите методы класса cerebro.aclasses.Attachment по получению значений аналогичных свойств.

Примечание

Чтобы узнать текущие значения, возпользуйтесь соответствующими методами редактируемых задач tasks().

def before_event(event):        
        if event.event_type() == event.EVENT_CHANGING_OF_MESSAGE_HASHTAGS: # activity type is being changed
        
                messages = event.messages()
                for message in messages:
                        print('Message name', message.name())
                        print('<Previous activity type', message.activity())
                
                print('New activity type', event.new_value())                                   
set_new_value(val)[исходный код]
Параметры:val – значение свойства.

Устанавливает новое значение редактируемого свойства.

Тип нового значения зависит от редактируемого свойства. Для определения нужного типа смотрите методы класса cerebro.aclasses.Attachment по установке значений аналогичных свойств.

if event.type() == event.EVENT_CHANGING_OF_MESSAGE_HASHTAGS:
        message_name = event.new_value()
        if task_name.isupper() == False:
                new_name = task_name.upper() # changing the symbols to the upper register
                event.set_new_value(new_name) # substituting the value entered by user for the new one