10.1.10. Класс cerebro.aclasses.Tag

class cerebro.aclasses.Tag(task_id, tag_id)[исходный код]
Базовые классы: cerebro.aclasses.AbstractTag

Класс тега задачи.

Методы

Примечание

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

tags = task.tags()
for tag in tags:
        print('Тег задачи', tag.name(), tag.value())                    
set_value(val)[исходный код]

Устанавливает значение тега. Значение None переводит значение тега в не задано.

В зависимости от типа тега устанавливаются значения различных типов:

if tag.type() == tag.TYPE_INTEGER: # целочисленный тип
        tag.set_value(int)
elif tag.type() == tag.TYPE_ENUM: # тип перечисление
        tag.set_value(element_id) # идентификатор элемента перечисления
elif tag.type() == tag.TYPE_REAL: # вещественное число
        tag.set_value(float)
elif tag.type() == tag.TYPE_STRING: # строка
        tag.set_value(string)
elif tag.type() == tag.TYPE_MULTI_ENUM: # тип множественное перечисление
        tag.set_value([element_id,]) # список идентификаторов элементов перечисления

Сбрасывание значения тега:

if tag.value() != None:
        tag.set_value(None)             

При работе с тегами типов перечисление и множественное перечисление, идентификаторы для установки значения берутся из списка элементов elements().

elems = tag.elements()
if len(elems) > 0: # для типа перечисление
        tag.set_value(elems[0][0]) 
if len(elems) > 1: # для типа множественное перечисление. 
        # Устанавливается два елемента
        elems_to_set = [ elems[0][0], elems[1][0] ]
        tag.set_value(elems_to_set)

См.также

value().

task_id()[исходный код]
Результат:идентификатор задачи.
Тип результата:int
value()[исходный код]
Результат:значение тега. Если значение тега не задано, возвращается None.

В зависимости от типа тега возвращаются значения различных типов:

if tag.type() == tag.TYPE_INTEGER: # целочисленный тип
        return int
elif tag.type() == tag.TYPE_ENUM: # тип перечисление
        return (element_id, element_name) # кортеж из двух полей: идентификатор элемента перечисления, имя перечисления
elif tag.type() == tag.TYPE_REAL: # вещественное число
        return float
elif tag.type() == tag.TYPE_STRING: # строка
        return string
elif tag.type() == tag.TYPE_MULTI_ENUM: # тип множественное перечисление
        return [(element_id, element_name),] # список кортежей из двух полей: идентификатор элемента перечисления, имя перечисления

См.также

set_value().