text counter#
Обёртка над счётчиками.
Содержит вспомогательный класс для более удобной генерации текстовых результатов работы счётчиков.
Вмето того, чтобы использовать множество функций. Проще будет использовать всего один класс.
Старый вариант:
from sp.counters import days_counter
from sp.parser import Schedule
from sp.messages import send_counter
sc = Schedule()
res = days_counter(sc, sc.construct_intent())
groups = group_counter_res(res)
message = send_counter(groups, target="cl")
Новый вариант:
from sp.counters import CounterTarget
from sp.parser import Schedule
from sp.text_counter import TextCounter, CounterTarget
sc = Schedule()
counter = TextCounter(sc)
message = counter.days(
sc.construct_intent(),
target=CounterTarget.CL
)
- class sp.text_counter.TextCounter(sc: Schedule)#
Вспомогательный класс для более удобной работы со счётчиками.
Предоставляет доступ к счётчикам расписания. Предварительно обработsdftn результат и собрав текстовые сообщения.
- Параметры:
sc (Schedule) – Экземпляр расписания, для которого считать элементы.
- cl(intent: Intent, target: CounterTarget | None = None) str#
Счётчик по классам в расписании (sc.lessons).
Является обёрткой над cl_counter. Группирует результаты и формарует текстовое сообщение. Использует намерения, для уточнения результатов подсчёта. Вы также можете выбрать отображаемую подргуппу.
Доступные подгруппы:
CounterTarget.NONE.
CounterTarget.DAYS.
CounterTarget.LESSONS.
CounterTarget.CABINETS.
Пример использования:
from sp.counters import CounterTarget from sp.parser import Schedule from sp.text_counter import TextCounter sc = Schedule() counter = TextCounter(sc) message = counter.cl(sc.construct_intent())
- Параметры:
intent (Intent) – Намерение для уточнения результатов подсчёта.
target (Optional[CounterTarget]) – Отображаемая подгруппа.
- Результат:
Сообщение с результатом работы счётчика.
- Тип результата:
str
- days(intent: Intent, target: CounterTarget | None = None) str#
Счётчик по дням в расписании (sc.lessons).
Является обёрткой над days_counter. Группирует результаты и формарует текстовое сообщение. Использует намерения, для уточнения результатов подсчёта. Вы также можете выбрать отображаемую подгруппу.
Доступные подгруппы:
CounterTarget.NONE.
CounterTarget.CL.
CounterTarget.LESSONS.
CounterTarget.CABINETS.
Пример использования:
from sp.counters import CounterTarget from sp.parser import Schedule from sp.text_counter import TextCounter sc = Schedule() counter = TextCounter(sc) message = counter.days( sc.construct_intent(), target=CounterTarget.CL )
- Параметры:
intent (Intent) – Намерение для уточнения результатов подсчёта.
target (Optional[CounterTarget]) – Какую добавить подгруппу.
- Результат:
Сообщение с результатом работы счётчика.
- Тип результата:
str
- index(intent: Intent, cabinets_mode: bool | None = False, target: CounterTarget | None = None) str#
Счётчик по урокам/кабинетам в расписании (имдексам).
Является обёрткой над index_counter. Группирует результаты и формарует текстовое сообщение. Использует намерения, для уточнения результатов подсчёта. Вы также можете выбрать отображаемую подгруппу.
Доступные подгруппы:
CounterTarget.NONE.
CounterTarget.CL.
CounterTarget.DAYS.
CounterTarget.MAIN.
Пример использования:
from sp.counters import CounterTarget from sp.parser import Schedule from sp.text_counter import TextCounter sc = Schedule() counter = TextCounter(sc) message = counter.index( sc.construct_intent(), cabinets_mode=True, target=CounterTarget.CL )
- Параметры:
intent (Intent) – Намерение для уточнения результатов подсчёта.
cabinets_mode (bool) – Использовать индекс кабинетов.
target (Optional[CounterTarget]) – Какую добавить подгруппу.
- Результат:
Сообщение с результатом работы счётчика.
- Тип результата:
str