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)
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)
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.' )
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))
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.')
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)
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)
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']))