Счётчик
Счётчики элементов расписания.
Предоставляет счётчик для анализа количества элементов в расписании. Все методы используют намерения, для уточнения результатов подсчёта.
CounterRes = dict[_K, CounterGroup]
module-attribute
CounterGroup(total: int, cl: Counter[str], days: Counter[int], lessons: Counter[str], cabinets: Counter[str])
dataclass
Группа результатов работы счётчика.
в зависимости от типа счётчика некоторые поля могут быть пусты. К примеру у счётчика по классам классы будут пустыми.
total: int
instance-attribute
cl: Counter[str]
instance-attribute
days: Counter[int]
instance-attribute
lessons: Counter[str]
instance-attribute
cabinets: Counter[str]
instance-attribute
CounterTarget
Bases: Enum
Описывает все доступные подгруппы счётчиков.
Пример использования с CurrentCounter:
counter = CurrentCounter(sc, Intent())
message = view.counter(
counter.cl()
target=CounterTarget.CL
)
NONE: То же самое что и None, без цели отображения.CL: По классам в расписании.DAYS: По дням недели.LESSONS: По урокам (l_index).CABINETS: По кабинетам (c_index).MAIN: Противоположный выбранному счётчику индекса. Если это счётчик уроков - то по кабинетам. И напротив, если это счётчик кабинетов, то по урокам.
NONE = 'none'
class-attribute
instance-attribute
CL = 'cl'
class-attribute
instance-attribute
DAYS = 'days'
class-attribute
instance-attribute
LESSONS = 'lessons'
class-attribute
instance-attribute
CABINETS = 'cabinets'
class-attribute
instance-attribute
MAIN = 'main'
class-attribute
instance-attribute
CurrentCounter(sc: Schedule, intent: Intent)
Счётчик элементов текущего расписания.
Предоставляет методы для подсчёта элементов расписания. Вы можете отобразить результат через класс представления.
sc = sc
instance-attribute
intent = intent
instance-attribute
cl(intent: Intent | None = None) -> dict[int, CounterRes[str]]
Счётчик по классам с использованием sp.lessons.
Считает элементы расписания, пробегаясь по sp.lessons. Использует намерение для уточнения результатов поиска.
days(intent: Intent | None = None) -> dict[int, CounterRes[int]]
Счётчик по дням с использованием sc.lessons.
Производит подсчёт элементов относительно дней недели. Использует намерение для уточнения результатов работы счётчиков.
lessons(intent: Intent | None = None) -> dict[int, CounterRes[str]]
Счётчик уроков с использованием индексов.
Производит подсчёт элементов расписания в счётчиках. В зависимости от режима считает уроки или кабинеты. Использует намерение, для уточнения результатов счётчика.
cabinets(intent: Intent | None = None) -> dict[int, CounterRes[str]]
Счётчик уроков с использованием индексов.
Производит подсчёт элементов расписания в счётчиках. В зависимости от режима считает уроки или кабинеты. Использует намерение, для уточнения результатов счётчика.
reverse_counter(cnt: Counter[str]) -> dict[int, list[str]]
Меняет ключ и значение collections.Counter местами.
Переворачивает счётчик из name:count -> count:[name, name, name]. Используется в группировке результатов работы счётчиков по количеству. Также будет пропускать пустые значения при подсчёте.