示例#1
0
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)
示例#2
0
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="Вы успешно авторизованы в качестве преподавателя!")
示例#3
0
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}%")
示例#4
0
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"]
示例#5
0
def get_user_id_by_surname(surname):
    query = f"select id from users where surname='{surname}'"
    return main.execute_query(query)[0]["id"]
示例#6
0
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))