Esempio n. 1
0
def delete_class_by_class_id_test():
    class_id_to_delete = 6

    _class = ClassModel(settings.DB_CONFIGURE, settings.DB_CONN_RETRY)

    print "\n>>>>>>>>> The result of the function delete_class_by_class_id() return : %s " % _class.delete_class_by_class_id(
        class_id_to_delete)
Esempio n. 2
0
def update_class_by_class_id_test():
    class_id_to_update = 4
    update_param = {"name": 'This is for update testing'}

    _class = ClassModel(settings.DB_CONFIGURE, settings.DB_CONN_RETRY)

    print "\n>>>>>>>>> The result of the function update_class_by_class_id() return : %s " % _class.update_class_by_class_id(
        class_id_to_update, update_param)
Esempio n. 3
0
def add_class_test():
    insert_param = {
        "name": ''.join(random.sample(string.ascii_letters + string.digits, 8))
    }

    _class = ClassModel(settings.DB_CONFIGURE, settings.DB_CONN_RETRY)

    print "\n>>>>>>>>> The result of the function add_class() return : %s " % _class.add_class(
        insert_param)
def remove_missed_class(bot, update):
    class_name = update.message.text
    chat_id = update.message.chat_id

    try:
        missed_class = ClassModel.get((ClassModel.chat_id == chat_id) & (ClassModel.class_name == class_name))

        if not missed_class.skipped_classes:
            update.message.reply_text(
                'Não há faltas para remover!',
                reply_markup=ReplyKeyboardRemove()
            )
            return ConversationHandler.END

        missed_class.skipped_classes -= 1
        missed_class.save()

        update.message.reply_text(
            'Falta removida! Você agora tem *%s* falta(s), de um limite de *%s*.'
            % (missed_class.skipped_classes, missed_class.skipped_classes_limit),
            parse_mode=ParseMode.MARKDOWN,
            reply_markup=ReplyKeyboardRemove()
        )

        return ConversationHandler.END
    except DoesNotExist:
        update.message.reply_text(
            'Não conheço essa matéria! Tente novamente.'
        )
def missed_class(bot, update):
    class_name = update.message.text
    chat_id = update.message.chat_id

    try:
        missed_class = ClassModel.get((ClassModel.chat_id == chat_id) & (ClassModel.class_name == class_name))

        missed_class.skipped_classes += 1
        missed_class.save()

        response = choose_missed_class_response(missed_class.skipped_classes, missed_class.skipped_classes_limit)
        response += (
            '\n\nVocê já faltou *%s* vezes, de um limite de *%s* faltas.'
            % (missed_class.skipped_classes, missed_class.skipped_classes_limit)
        )

        update.message.reply_text(
            response,
            parse_mode=ParseMode.MARKDOWN,
            reply_markup=ReplyKeyboardRemove()
        )

        return ConversationHandler.END
    except DoesNotExist:
        update.message.reply_text(
            'Não conheço essa matéria! Tente novamente.'
        )
Esempio n. 6
0
def select_class_keyboard(update):
    classes = ClassModel.select().where(
        ClassModel.chat_id == update.message.chat_id)

    reply_keyboard = [[class_model.class_name for class_model in classes]]

    update.message.reply_text('Qual a matéria?\n',
                              reply_markup=ReplyKeyboardMarkup(
                                  reply_keyboard, one_time_keyboard=True))
Esempio n. 7
0
def delete_class(bot, update):
    class_name = update.message.text
    chat_id = update.message.chat_id

    try:
        missed_class = ClassModel.get((ClassModel.chat_id == chat_id)
                                      & (ClassModel.class_name == class_name))
        missed_class.delete_instance()

        update.message.reply_text('Matéria removida!',
                                  parse_mode=ParseMode.MARKDOWN)

        return ConversationHandler.END
    except DoesNotExist:
        update.message.reply_text('Não conheço essa matéria! Tente novamente.')
Esempio n. 8
0
def list_classes(bot, update):
    classes = ClassModel.select().where(
        ClassModel.chat_id == update.message.chat_id)

    response = ''

    for class_model in classes:
        line = ('*%s:*\n``` %s / %s faltas\t\t\t\t%s```\n\n' %
                (class_model.class_name, class_model.skipped_classes,
                 class_model.skipped_classes_limit,
                 __get_status_emoji(class_model.skipped_classes,
                                    class_model.skipped_classes_limit)))
        response += line

    update.message.reply_text(response, parse_mode=ParseMode.MARKDOWN)
Esempio n. 9
0
def get_classes_test():
    _class = ClassModel(settings.DB_CONFIGURE, settings.DB_CONN_RETRY)

    print "\n>>>>>>>>> The result of the function get_classes() return : %s " % json.dumps(
        _class.get_classes(), indent=4)
Esempio n. 10
0
def __save(user_data):
    ClassModel.create(chat_id=user_data['chat_id'],
                      class_name=user_data['class_name'],
                      skipped_classes_limit=int(
                          user_data['skipped_classes_limit']))