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]