Example #1
0
def process_change_group_step(message):
    if db_manager.is_group(message.text):
        db_manager.update_user_group(message.chat.id, message.text)

        if db_manager.is_user(message.chat.id):
            if db_manager.get_user_by_chat_id(
                    message.chat.id).language == constants.lang_en:
                bot.send_message(message.chat.id, constants.change_group_en)
            else:
                bot.send_message(message.chat.id, constants.change_group)

    else:
        if message.text == "/cancel":
            if db_manager.get_user_by_chat_id(
                    message.chat.id).language == constants.lang_en:
                bot.send_message(message.chat.id, constants.cancel_success_en)
            else:
                bot.send_message(message.chat.id, constants.cancel_success)
            return

        groups = get_groups()
        answer_pick = constants.pick_your_group.split("\n")[0]
        cancel = constants.cancel

        if db_manager.get_user_by_chat_id(
                message.chat.id).language == constants.lang_en:
            answer_pick = constants.pick_your_group_en.split("\n")[0]
            cancel = constants.cancel_en

        reply_message = bot.send_message(message.chat.id,
                                         answer_pick + "\n\n" + groups +
                                         cancel,
                                         parse_mode="HTML")
        bot.register_next_step_handler(reply_message,
                                       process_change_group_step)
Example #2
0
def process_rename_group_id(message):
    group_id = str(message.text).replace(" ", "").split(",")

    if db_manager.is_group(group_id[0]):
        bot.send_message(message.chat.id, "this is correct group_id")
        db_manager.rename_group_id(group_id[0], group_id[-1])
    else:
        bot.send_message(message.chat.id, "this is dont correct group_id")
Example #3
0
def process_remove_group(message):
    group_id = str(message.text)
    if db_manager.is_group(group_id):
        try:
            db_manager.remove_group(group_id)
            bot.send_message(message.chat.id, "Remove {} success".format(group_id))
        except:
            bot.send_message(message.chat.id, "Error remove group {}".format(group_id))

    else:
        bot.send_message(message.chat.id, "Dont found group: {}".format(group_id))
Example #4
0
def process_group_step(message):
    global lang
    chat_id = message.chat.id
    group_id = str(message.text)
    is_group = db_manager.is_group(group_id)

    if message.text == "/teacher":
        reply_message = bot.send_message(chat_id, "Enter you name: ")
        bot.register_next_step_handler(reply_message, process_register_teacher)
        return

    if message.text == "/en":
        lang = constants.lang_en
    elif message.text == "/ua":
        lang = constants.lang_ua

    if is_group:
        user = tools.get_user_info_from_message(message)

        if user:
            user.group_id = group_id
            user.language = lang
            db_manager.add_user(user)
            select_answer = constants.thanks_for_a_registration

            if lang == constants.lang_en:
                select_answer = constants.thanks_for_a_registration_en

            bot.send_message(chat_id,
                             select_answer,
                             reply_markup=tools.get_required_keyboard(lang))
            parse_send_message(
                constants.admin_log,
                tools.to_bold("New user") + " - @{0} , {1}: {2}".format(
                    user.name_user, tools.to_bold("group"), user.group_id))
    else:
        select_answer = constants.pick_your_group

        if lang == constants.lang_en:
            select_answer = constants.pick_your_group_en

        reply_message = bot.reply_to(message,
                                     select_answer + "\n\n" + get_groups(),
                                     parse_mode="HTML")
        bot.register_next_step_handler(reply_message, process_group_step)
Example #5
0
def process_check_group_id(message):
    group_id = str(message.text)
    if db_manager.is_group(group_id):
        bot.send_message(message.chat.id, "{} is group".format(group_id))
    else:
        bot.send_message(message.chat.id, "{} is dont group".format(group_id))
Example #6
0
def file_handler(message):
    path = FileManager.path_for_excel
    file_path = ""

    FileManager.if_not_exists_dir_make(constants.documents_directory)

    xlsx_file = "{}.{}".format(path, constants.excel_file_type)
    xls_file = "{}.{}".format(path, constants.excel_file_type_a)
    FileManager.if_file_exists_remove(xlsx_file)
    FileManager.if_file_exists_remove(xls_file)
    FileManager.download_file(bot, message, FileManager.path_for_excel)

    file_info = bot.get_file(message.document.file_id)
    name_file = str(message.document.file_name)
    type_file = str(file_info.file_path).split(".")[-1]

    if os.path.isfile(xlsx_file):
        file_path = xlsx_file

    elif os.path.isfile(xls_file):
        file_path = xls_file

    if name_file[0] == "s":
        session_array = read_session.read_session(file_path)
        group_id = session_array[0].group_id

        if db_manager.is_group_on_session(group_id):
            db_manager.remove_session_by_group_id(group_id)

        if session_array:
            for session in session_array:
                try:
                    db_manager.add_session(session)
                except sqlite3.Error as error:
                    bot.send_message(
                        constants.admin_chat_id,
                        "Error in add session to DB\n\n" + str(error))

        answer_str = "Session {0} group add to db".format(group_id)
        parse_send_message(message.chat.id, answer_str)
        parse_send_message(constants.admin_log, answer_str)
        print(answer_str)

    elif name_file[0] == "q":
        qualification_array = read_session.read_session(file_path)
        group_id = qualification_array[0].group_id

        if db_manager.is_group_on_qualification(group_id):
            db_manager.remove_qualification_by_group_id(group_id)

        if qualification_array:
            for item in qualification_array:
                try:
                    db_manager.add_qualification(item)
                except sqlite3.Error as error:
                    bot.send_message(
                        constants.admin_chat_id,
                        "Error in add qualification to DB\n\n" + str(error))

            answer_str = "Qualification {0} group add to db".format(group_id)
            parse_send_message(message.chat.id, answer_str)
            parse_send_message(constants.admin_log, answer_str)
            print(answer_str)

    elif type_file == constants.excel_file_type or type_file == constants.excel_file_type_a:
        lessons = read_lessons.read_lessons(file_path)
        if lessons:
            group_id = lessons[0].group_id

            if db_manager.is_group(group_id):
                db_manager.remove_lessons_by_group_id(group_id)

            for lesson in lessons:
                try:
                    db_manager.add_lesson(lesson)
                except sqlite3.Error as error:
                    bot.send_message(constants.admin_chat_id,
                                     "Error in add lesson to DB " + str(error))

            answer_str = "Lessons {0} add to db".format(group_id)
            parse_send_message(message.chat.id, answer_str)
            parse_send_message(constants.admin_log, answer_str)
            print(answer_str)
        else:
            bot.send_message(message.chat.id, "Lessons dont found")
    else:
        parse_send_message(
            message.chat.id, "File is not" + tools.to_bold("xlsx") + " and " +
            tools.to_bold("xls"))