def load_test_results(update, context): user = update.message.from_user photo_file = update.message.photo[-1].get_file() photo_file.download('user_photo.jpg') user_id = user.id # распознали ответы на фото # из фото также получаем - фамилия,tests_check.load_test_results класс, дата, номер теста surname = 'aaaa' group = 'bbbb' test_date = 'dddd' test_num = 'T5' user_answers = "qweryt" user_answers_full = detection("user_photo.jpg", 9) test_num = user_answers_full[0] + user_answers_full[1] + user_answers_full[ 2] user_answers = user_answers_full[3:9] context.bot.send_message(chat_id=update.effective_chat.id, text="Номер теста: " + test_num) context.bot.send_message(chat_id=update.effective_chat.id, text="Распознанные ответы: " + str(user_answers)) # определяем правильность ответов test_res = json.dumps(get_test_result(test_num, user_answers)) print("test res:", test_res) # загружаем ответы в БД query = f"insert into performed_tests (user_id, test_id, date, result) " \ f"values({user_id}, '{test_num}', '{test_date}', '{test_res}')" main.execute_query(query)
def teacher_auth(update, context): if len(context.args) != 1: context.bot.send_message( chat_id=update.effective_chat.id, text= "Неверно заданы параметры команды /teach_auth \n Пример: /teach_auth qweqwe" ) return entered_code = context.args[0] if entered_code == TEACHER_CODE: query = f"insert into users (id, class, surname) " \ f"values({update.message.from_user.id}, 't', '')" main.execute_query(query) context.bot.send_message( chat_id=update.effective_chat.id, text="Вы успешно авторизованы в качестве преподавателя!")
def get_test_result(update, context): if len(context.args) != 2: context.bot.send_message( chat_id=update.effective_chat.id, text= "Неверно заданы параметры команды /result \n /result 435 Epifanov \n /result 435 Sukhov \n /result 435 Sukhov" ) return test_id = context.args[0] surname = context.args[1] context.bot.send_message(chat_id=update.effective_chat.id, text="check auth...") check_id = update.message.from_user.id #context.bot.send_message(chat_id=update.effective_chat.id, #text=check_id) query = f"select class from users where id={check_id}" check_res = main.execute_query(query)[0]["class"] #print("check_res: ", check_res) if (check_res != "t"): context.bot.send_message(chat_id=update.effective_chat.id, text=f"У вас нет соответсвующих прав доступа") return user_id = get_user_id_by_surname(surname) query = f"select result from performed_tests " \ f"where user_id={user_id} and test_id='{test_id}'" result = json.loads(main.execute_query(query)[0]["result"]) if len(result) == 0: context.bot.send_message(chat_id=update.effective_chat.id, text="Данные не найдены") return success_percentage = round(sum(result) / len(result) * 100, 1) context.bot.send_message(chat_id=update.effective_chat.id, text=result) context.bot.send_message(chat_id=update.effective_chat.id, text=f"Тест выполнен на {success_percentage}%")
def get_test_correct_answers(test_id): query = f"select answers from test_keys where id='{test_id}'" return main.execute_query(query)[0]["answers"]
def get_user_id_by_surname(surname): query = f"select id from users where surname='{surname}'" return main.execute_query(query)[0]["id"]
import main as sql import time from build_index import build_index file_path = 'C:/2017_Fall/CS 411/csv_data/' idx_path = file_path + 'index/' build_index(file_path, 'business.csv', idx_path, '', 'Location', False) sample_query = "SELECT B.name, B.postal_code, R.review_id, R.stars, R.useful FROM business.csv B, review.csv R " \ "WHERE B.city = 'Champaign' AND B.state = 'IL' AND B.business_id = R.business_id;" query_list = [sample_query] for single_query in query_list: start = time.time() query_output = sql.execute_query(single_query, file_path) end = time.time() # try: # for res_row in query_output: # print(res_row) # except: # print('query output is not defined') print("Run time", end - start) print('Length of output', len(query_output))