API документация
Этот раздел содержит документацию по основным модулям проекта.
Модуль управления вопросами.
Реализует сервисный слой для работы с вопросами, обеспечивая изоляцию хендлеров от структуры данных вопросов.
- Classes:
Questionary: Основной класс для управления вопросами
- mylife3000.questionary.get_section_questions()
Получение вопросов раздела
- mylife3000.questionary.get_section_description()
Получение описания раздела
- mylife3000.questionary.get_random_question()
Получение случайного вопроса
- mylife3000.questionary.get_themes()
Получение списка тем раздела
- mylife3000.questionary.get_all_sections()
Получение всех разделов
- class mylife3000.questionary.Questionary[исходный код]
Базовые классы:
objectКласс для управления вопросами с возможностью dependency injection.
Предоставляет интерфейс для доступа к вопросам, разбитым по разделам и темам. Реализует паттерн dependency injection для изоляции обработчиков от логики работы с вопросами.
- sections
Словарь разделов, тем и списков вопросов
- Type:
Dict[str, Dict[str, List[str]]]
- section_descriptions
Словарь описаний разделов
- Type:
Dict[str, str]
- __init__()[исходный код]
- _load_questions()[исходный код]
Загружает все вопросы из модуля questions_data в память.
Инициализирует структуры данных sections и section_descriptions, добавляя категорию «Случайный вопрос» в каждый раздел.
- Тип результата:
None
- get_section_questions(section_name)[исходный код]
Возвращает словарь тем и вопросов для указанного раздела.
- Параметры:
section_name (str) – Название раздела
- Результат:
Словарь {тема: список_вопросов} или None если раздел не найден
- Тип результата:
Optional[Dict[str, List[str]]]
- get_section_description(section_name)[исходный код]
Возвращает описание указанного раздела.
- Параметры:
section_name (str) – Название раздела
- Результат:
Описание раздела или пустая строка если раздел не найден
- Тип результата:
str
- get_random_question(section_name, theme=None)[исходный код]
Возвращает случайный вопрос из указанного раздела и/или темы.
- Параметры:
section_name (str) – Название раздела
theme (Optional[str], optional) – Название темы, по умолчанию None (случайный вопрос из всего раздела)
- Результат:
Случайный вопрос или None если вопросы не найдены
- Тип результата:
Optional[str]
- get_themes(section_name)[исходный код]
Возвращает список тем для указанного раздела.
Исключает категорию «Случайный вопрос» из результата.
- Параметры:
section_name (str) – Название раздела
- Результат:
Список названий тем
- Тип результата:
List[str]
- get_all_sections()[исходный код]
Возвращает список всех доступных разделов.
- Результат:
Список названий разделов
- Тип результата:
List[str]