Example #1
0
async def list_dictations(message: types.Message):
    """ Выводит список диктантов для каждой темы """

    theme_id = share_module.get_id_command(message.text)
    if theme_id:
        list_dictations_theme = dictations_module.get_dictations_theme(
            theme_id)
    else:
        list_dictations_theme = dictations_module.get_dictations_theme(
            theme_id, show_all_dictations=True)

    if not list_dictations_theme:
        await message.answer("Нет ни одного диктанта")
        return

    dictations_row = []
    for d_th in list_dictations_theme:
        dictations = [
            f"▪ {textwrap.shorten(dictation, width=100, placeholder='...')}ℹ /full_dict{d_id} \n"
            f"✏/rewrite_dict{d_id}   ❌/del_dict{d_id}\n"
            for dictation, d_id in d_th.dicts
        ]

        dictations_row += [
            f"📒 {d_th.theme_name}\n\n"
            f"{share_module.unpack_list(dictations)}"
        ]

    answer_message = "💬Список тем и диктантов для них:\n\n"
    await message.answer(answer_message)
    await handlers.share.pagination_output(message, dictations_row)
Example #2
0
async def del_ege_content(message: types.Message):
    """ Удаляет контент """

    ege_content_id = share_module.get_id_command(message.text)
    ege_module.del_ege_content(ege_content_id)

    await message.answer("Удалил")
Example #3
0
async def del_student(message: types.Message):
    """ Удаляет одну запись студента по её идентификатору """

    row_id = share_module.get_id_command(message.text)
    students_module.delete_student(row_id)

    answer_message = "Удалил"
    await message.answer(answer_message)
Example #4
0
async def rewrite_ege_task1(message: types.Message, state: FSMContext):
    """ Приглашение на изменение название ЕГЭ задания """

    await state.finish()
    ege_id = share_module.get_id_command(message.text)
    await state.update_data(ege_id=ege_id)
    await message.answer("Введите новое название задания:")
    await Form.wait_rewrite_ege_task.set()
Example #5
0
async def del_theme(message: types.Message):
    """ Удаляет одну тему и связанные с ней диктанты по её идентификатору """

    row_id = share_module.get_id_command(message.text)

    themes_module.delete_theme(row_id)

    answer_message = "Удалил"
    await message.answer(answer_message)
Example #6
0
async def rewrite_ege_name_task1(message: types.Message, state: FSMContext):
    """ Приглашение на переименование описания/тематики ЕГЭ задания """

    await state.finish()

    ege_id = share_module.get_id_command(message.text)
    await state.update_data(ege_id=ege_id)

    await message.answer("Введите новое описание/тематику ЕГЭ задания")
    await Form.wait_rewrite_ege_name_task.set()
Example #7
0
async def get_dict_full(message: types.Message):
    """ Возвращает голый текст диктанта """

    dict_id = share_module.get_id_command(message.text)

    dictation = dictations_module.get_dict(dict_id)
    theme_name = themes_module.get_theme(dictation.themes_id)

    await message.answer(f"📒 Тема {theme_name.theme_name}\n"
                         f"Для {theme_name.themes_grade_number}а")
    await message.answer(dictation.dictation)
Example #8
0
async def rewrite_content_description1(message: types.Message,
                                       state: FSMContext):
    """ Приглашение на переименование описания контента """

    await state.finish()

    ege_content_id = share_module.get_id_command(message.text)
    await state.update_data(ege_content_id=ege_content_id)

    await message.answer("Введите новое описание к материалу:")
    await Form.wait_rewrite_content_description.set()
Example #9
0
async def add_dictation2(message: types.Message, state: FSMContext):
    """ Предлагает исправить диктант """

    theme_id = share_module.get_id_command(message.text)
    await state.update_data(theme_id=theme_id)

    theme = themes_module.get_theme(theme_id)

    await message.answer(f"Выбрана тема:\n\n"
                         f"📒 {theme.theme_name}\n\n"
                         f"💡Напечатайте диктант")
    await state.update_data(theme_name=f"{theme.theme_name}")
    await Form.wait_dictation.set()
Example #10
0
async def upload_content1(message: types.Message, state: FSMContext):
    """ Приглашение на отправку контента """

    await state.finish()

    task_id = share_module.get_id_command(message.text)
    await state.update_data(task_id=task_id)

    await message.answer(
        "Вставьте или перешлите мне одну фотографию или документ\n"
        "Убедитесь, что название файла не содержит точек, кроме той, что обозначает расширение"
    )
    await Form.wait_content_upload.set()
Example #11
0
async def rename_theme1(message: types.Message, state: FSMContext):
    """ Переименование темы, вывод текущей и приглос на ввод новой """

    theme_id = share_module.get_id_command(message.text)

    await state.update_data(theme_id=theme_id)

    theme_old = themes_module.get_theme(theme_id)

    answer_message = (f"Текущее название:\n\n"
                      f"📒 {theme_old.theme_name}\n\n"
                      f"Введите новое название темы")
    await message.answer(answer_message)
    await Form.wait_theme_renamed_text.set()
Example #12
0
async def get_ege_content(message: types.Message):
    """ Отправляет юзеру фото или документ по telegram_file_id """

    ege_content_id = share_module.get_id_command(message.text)

    content = ege_module.get_ege_content_lite(ege_content_id)

    try:
        if content.content_type == "photo":
            await message.answer_photo(content.telegram_file_id,
                                       content.description)
        elif content.content_type == "document":
            await message.answer_document(content.telegram_file_id,
                                          content.description)
    except Exception as ex:
        await message.answer(f"Проблема с выгрузкой контента, {ex, ex.args}")
Example #13
0
async def rewrite_dict1(message: types.Message, state: FSMContext):
    """ Приглашение на исправление диктанта """

    await state.finish()

    dict_id = share_module.get_id_command(message.text)
    await state.update_data(dict_id=f"{dict_id}")

    dictation_old = dictations_module.get_dict(dict_id)

    answer_message = (f"💬Текущий диктант:\n\n"
                      f"{dictation_old.dictation}\n\n"
                      f"✏Введите исправленный диктант заново\n"
                      f"или нажмите /cancel")

    await message.answer(answer_message)
    await Form.wait_renamed_dictation_text.set()
Example #14
0
async def del_dict(message: types.Message):
    """ Удаляет диктант """

    dict_id = share_module.get_id_command(message.text)
    dictations_module.del_dict(dict_id)
    await message.answer("Удалил")
Example #15
0
async def del_ege_task(message: types.Message):
    """ Удаляет ЕГЭ задание и его контент """

    ege_id = share_module.get_id_command(message.text)
    ege_module.del_ege_task(ege_id)
    await message.answer("Задание и материалы к нему удалены")