Diff of /users/views.py [000000] .. [dd62f3]

Switch to unified view

a b/users/views.py
1
from django.shortcuts import render, HttpResponse
2
from .forms import UserRegistrationForm
3
from .models import UserRegistrationModel,UserImagePredictinModel
4
from django.contrib import messages
5
from django.core.files.storage import FileSystemStorage
6
from .utility.GetImageStressDetection import ImageExpressionDetect
7
from .utility.MyClassifier import KNNclassifier
8
from subprocess import Popen, PIPE
9
import subprocess
10
# Create your views here.
11
12
13
# Create your views here.
14
def UserRegisterActions(request):
15
    if request.method == 'POST':
16
        form = UserRegistrationForm(request.POST)
17
        if form.is_valid():
18
            print('Data is Valid')
19
            form.save()
20
            messages.success(request, 'You have been successfully registered')
21
            form = UserRegistrationForm()
22
            return render(request, 'UserRegistrations.html', {'form': form})
23
        else:
24
            messages.success(request, 'Email or Mobile Already Existed')
25
            print("Invalid form")
26
    else:
27
        form = UserRegistrationForm()
28
    return render(request, 'UserRegistrations.html', {'form': form})
29
30
31
def UserLoginCheck(request):
32
    if request.method == "POST":
33
        loginid = request.POST.get('loginname')
34
        pswd = request.POST.get('pswd')
35
        print("Login ID = ", loginid, ' Password = ', pswd)
36
        try:
37
            check = UserRegistrationModel.objects.get(loginid=loginid, password=pswd)
38
            status = check.status
39
            print('Status is = ', status)
40
            if status == "activated":
41
                request.session['id'] = check.id
42
                request.session['loggeduser'] = check.name
43
                request.session['loginid'] = loginid
44
                request.session['email'] = check.email
45
                print("User id At", check.id, status)
46
                return render(request, 'users/UserHome.html', {})
47
            else:
48
                messages.success(request, 'Your Account Not at activated')
49
                return render(request, 'UserLogin.html')
50
        except Exception as e:
51
            print('Exception is ', str(e))
52
            pass
53
        messages.success(request, 'Invalid Login id and password')
54
    return render(request, 'UserLogin.html', {})
55
56
57
def UserHome(request):
58
    return render(request, 'users/UserHome.html', {})
59
60
def UploadImageForm(request):
61
    loginid = request.session['loginid']
62
    data = UserImagePredictinModel.objects.filter(loginid=loginid)
63
    return render(request, 'users/UserImageUploadForm.html', {'data': data})
64
65
def UploadImageAction(request):
66
    image_file = request.FILES['file']
67
68
    # let's check if it is a csv file
69
    if not image_file.name.endswith('.jpg'):
70
        messages.error(request, 'THIS IS NOT A JPG  FILE')
71
72
    fs = FileSystemStorage()
73
    filename = fs.save(image_file.name, image_file)
74
    # detect_filename = fs.save(image_file.name, image_file)
75
    uploaded_file_url = fs.url(filename)
76
    obj = ImageExpressionDetect()
77
    emotion = obj.getExpression(filename)
78
    username = request.session['loggeduser']
79
    loginid = request.session['loginid']
80
    email = request.session['email']
81
    UserImagePredictinModel.objects.create(username=username,email=email,loginid=loginid,filename=filename,emotions=emotion,file=uploaded_file_url)
82
    data = UserImagePredictinModel.objects.filter(loginid=loginid)
83
    return render(request, 'users/UserImageUploadForm.html', {'data':data})
84
85
def UserEmotionsDetect(request):
86
    if request.method=='GET':
87
        imgname = request.GET.get('imgname')
88
        obj = ImageExpressionDetect()
89
        emotion = obj.getExpression(imgname)
90
        loginid = request.session['loginid']
91
        data = UserImagePredictinModel.objects.filter(loginid=loginid)
92
        return render(request, 'users/UserImageUploadForm.html', {'data': data})
93
94
def UserLiveCameDetect(request):
95
    obj = ImageExpressionDetect()
96
    obj.getLiveDetect()
97
    return render(request, 'users/UserLiveHome.html', {})
98
99
def UserKerasModel(request):
100
    # p = Popen(["python", "kerasmodel.py --mode display"], cwd='StressDetection', stdout=PIPE, stderr=PIPE)
101
    # out, err = p.communicate()
102
    subprocess.call("python kerasmodel.py --mode display")
103
    return render(request, 'users/UserLiveHome.html', {})
104
105
def UserKnnResults(request):
106
    obj = KNNclassifier()
107
    df,accuracy,classificationerror,sensitivity,Specificity,fsp,precision = obj.getKnnResults()
108
    df.rename(columns={'Target': 'Target', 'ECG(mV)': 'Time pressure', 'EMG(mV)': 'Interruption', 'Foot GSR(mV)': 'Stress', 'Hand GSR(mV)': 'Physical Demand', 'HR(bpm)': 'Performance', 'RESP(mV)': 'Frustration', }, inplace=True)
109
    data = df.to_html()
110
    return render(request,'users/UserKnnResults.html',{'data':data,'accuracy':accuracy,'classificationerror':classificationerror,
111
                                                       'sensitivity':sensitivity,"Specificity":Specificity,'fsp':fsp,'precision':precision})