from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_exempt
from . import models


def get_personality_type(n):
    re = {'A': 0, 'C': 0, 'E': 0, 'I': 0, 'R': 0, 'S': 0}
    for i in range(1, len(n)):
        if n[i] == '1':
            if i in [2, 4, 14, 17, 21, 32, 39, 43]:
                re['A'] += 1
            if i in [1, 3, 7, 13, 29, 33, 38, 44]:
                re['C'] += 1
            if i in [5, 9, 11, 25, 28, 35, 37, 45]:
                re['E'] += 1
            if i in [6, 16, 18, 20, 30, 31, 40, 47]:
                re['I'] += 1
            if i in [10, 12, 22, 26, 34, 36, 41, 48]:
                re['R'] += 1
            if i in [8, 15, 19, 23, 24, 27, 42, 46]:
                re['S'] += 1
    re = sorted(re.items(), key=lambda d: d[1], reverse=True)
    return re[0][0]+re[1][0]+re[2][0]+re[3][0]+re[4][0]+re[5][0]


@csrf_exempt
def test(request):
    question_list = [
        '1. 我对自己平时的花销都记得很清楚',
        '2. 课余时间我喜欢阅读通俗小说、诗歌',
        '3. 在老师提出问题后，即使我知道，我也往往保持沉默',
        '4. 我很羡慕做戏剧、音乐、歌舞、新闻采访等方面工作的人',
        '5. 每次写作文时，我往往一挥而就，不再重复',
        '6. 我经常不停地思考某一问题，直到想出正确的答案。',
        '7. 对同学借我的和我借同学的东西，我都能记得很清楚',
        '8. 虽然复习很紧张，但我仍喜欢参加学校的各种活动',
        '9. 我喜欢成为老师和同学们注意的焦点',
        '10. 家里的电器如果出了小毛病，我喜欢自己搞定',
        '11. 我希望有机会参加探险',
        '12. 我曾渴望当一名汽车司机或飞机驾驶员',
        '13. 我总是保持我的房间和书桌的整洁',
        '14. 看情感影片时，我经常禁不住眼睛湿润',
        '15. 我喜欢做一名教师',
        '16. 我小时候经常把玩具打开，把里面看个究竟',
        '17. 音乐能使我陶醉',
        '18. 我喜欢阅读自然科学方面的书籍和杂志',
        '19. 在我的职业选择中可以考虑当校长',
        '20. 我喜欢需要运用智力的游戏',
        '21. 有时，我感到自己有文艺方面的天赋',
        '22. 我喜欢亲自动手制作一些东西(如贺年卡)，从中得到乐趣',
        '23. 如果同学们有困难，我很乐意帮助他们',
        '24. 和不熟悉的人交谈对我来说毫不困难',
        '25. 和同学交谈时，我对政治问题较感兴趣',
        '26. 我喜欢动手的工作，不喜欢抽象的工作',
        '27. 大家公认我是一个勤劳塌实、愿为大家服务的人',
        '28. 我有能力说服别的同学同意我的观点',
        '29. 我是一个沉静而不易动感情的人',
        '30. 当我学习时，我喜欢避免干扰',
        '31. 我的理想是当一名科学家',
        '32. 与推理小说相比，我更喜欢言情小说',
        '33. 我喜欢按部就班地完成要做的事',
        '34. 我有很强的动手能力',
        '35. 我总是主动地向别人提出自己的建议',
        '36. 我喜欢使用锤子、榔头一类的工具',
        '37. 与同学相比，我有较强的策划能力',
        '38. 我能坚持写日记',
        '39. 看电影是我的兴趣之一',
        '40. 我喜欢利用逻辑原理解决问题',
        '41. 有时我也关注飞行器方面的知识',
        '42. 我喜欢关注青少年犯罪问题',
        '43. 有条件的话，我可以去听听歌剧',
        '44. 对我来说，会计是一个不错的职业',
        '45. 我很羡慕那些优秀的企业家',
        '46. 一般情况下，我能想到用法律来保护自己的合法权益',
        '47. 我对侦破题材的节目很感兴趣',
        '48. 随便讲出一些世界名车的品牌，对我来说并不是个难事'
    ]
    if request.session.get('username') is None:
        return redirect('/User/login/')
    user = models.User.objects.get(username=request.session['username'])
    if request.method == 'POST':
        res = []
        for i in range(1, 48+1):
            res.append(request.POST.get(str(i)))
        user.people_type = get_personality_type(res)
        user.save()
    if not user.people_type:
        test_message = '请完成问卷，推荐专业'
    else:
        test_message = '您已完成问卷'
    return render(request, 'Test/test.html', locals())
