AkshayKatukojwala commited on
Commit
de42780
1 Parent(s): 286a27c

Upload views.py

Browse files
Files changed (1) hide show
  1. views.py +392 -0
views.py ADDED
@@ -0,0 +1,392 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ from django.shortcuts import render, redirect
3
+ from django.db.models import Count
4
+ from .models import *
5
+
6
+
7
+ import matplotlib.pyplot as plt
8
+
9
+
10
+ # Create your views here.
11
+ def home(request):
12
+ return render(request, 'index.html')
13
+
14
+
15
+ def alogin(request):
16
+ return render(request, 'admin.html')
17
+
18
+
19
+ def ulogin(request):
20
+ return render(request, 'user.html')
21
+
22
+
23
+ def usrreg(request):
24
+ return render(request, 'signup.html')
25
+
26
+
27
+ def signupaction(request):
28
+ email = request.POST['mail']
29
+ pwd = request.POST['pwd']
30
+ zip = request.POST['zip']
31
+ name = request.POST['name']
32
+ age = request.POST['age']
33
+ gen = request.POST['gen']
34
+
35
+ d1 = user.objects.filter(email__exact=email).count()
36
+ if d1 > 0:
37
+ return render(request, 'signup.html', {'msg': "Email ALSTMeady Registered"})
38
+ else:
39
+ d = user(name=name, email=email, pwd=pwd, zip=zip, gender=gen, age=age)
40
+ d.save()
41
+ return render(request, 'signup.html', {'msg': "Register Success, You can Login.."})
42
+
43
+ return render(request, 'signup.html', {'msg': "Register Success, You can Login.."})
44
+
45
+
46
+ def uloginaction(request):
47
+ if request.method == 'POST':
48
+ uid = request.POST['mail']
49
+ pwd = request.POST['pwd']
50
+ d = user.objects.filter(email__exact=uid).filter(pwd__exact=pwd).count()
51
+
52
+ if d > 0:
53
+ d = user.objects.filter(email__exact=uid)
54
+ request.session['email'] = uid
55
+
56
+ request.session['name'] = d[0].name
57
+ return render(request, 'user_home.html', {'data': d[0]})
58
+
59
+ else:
60
+ return render(request, 'user.html', {'msg': "Login Fail"})
61
+
62
+ else:
63
+ return render(request, 'user.html')
64
+
65
+
66
+ def adminlogindef(request):
67
+ if request.method == 'POST':
68
+ uid = request.POST['uid']
69
+ pwd = request.POST['pwd']
70
+
71
+ if uid == 'admin' and pwd == 'admin':
72
+ request.session['adminid'] = 'admin'
73
+ return render(request, 'admin_home.html')
74
+
75
+ else:
76
+ return render(request, 'admin.html', {'msg': "Login Fail"})
77
+
78
+ else:
79
+ return render(request, 'admin.html')
80
+
81
+
82
+ def uhome(request):
83
+ if "email" in request.session:
84
+ uid = request.session["email"]
85
+ d = user.objects.filter(email__exact=uid)
86
+ return render(request, 'user_home.html', {'data': d[0]})
87
+
88
+ else:
89
+ return render(request, 'user.html')
90
+
91
+
92
+ def ulogout(request):
93
+ try:
94
+ del request.session['email']
95
+ except:
96
+ pass
97
+ return render(request, 'user.html')
98
+
99
+
100
+ def adminhome(request):
101
+ if "adminid" in request.session:
102
+
103
+ return render(request, 'admin_home.html')
104
+
105
+ else:
106
+ return render(request, 'user.html')
107
+
108
+
109
+ def trainingpage(request):
110
+ return render(request, 'trainingpage.html')
111
+
112
+
113
+ def cnn(request):
114
+ from .Train_CNN import dl_evaluation_process
115
+
116
+
117
+
118
+ acc, precsn, recall, f1score=dl_evaluation_process()
119
+ d=accuracysc.objects.filter(algo='CNN')
120
+ d.delete()
121
+ d=accuracysc(algo='CNN', accuracyv=acc, prec=precsn, recall=recall, f1sc=f1score)
122
+ d.save()
123
+
124
+
125
+ return render(request, 'trainingpage.html', {'msg': "CNN Classifier Training & Testing Completed Successfully"})
126
+
127
+
128
+ def ann(request):
129
+ from .Train_ANN import dl_evaluation_process
130
+
131
+
132
+ acc, precsn, recall, f1score=dl_evaluation_process()
133
+ d=accuracysc.objects.filter(algo='ANN')
134
+ d.delete()
135
+ d=accuracysc(algo='ANN', accuracyv=acc, prec=precsn, recall=recall, f1sc=f1score)
136
+ d.save()
137
+
138
+
139
+ return render(request, 'trainingpage.html', {'msg': "ANN Classifier Training & Testing Completed Successfully"})
140
+
141
+
142
+ def lstm(request):
143
+ from .Train_LSTM import dl_evaluation_process
144
+
145
+
146
+ acc, precsn, recall, f1score=dl_evaluation_process()
147
+ d=accuracysc.objects.filter(algo='LSTM')
148
+ d.delete()
149
+ d=accuracysc(algo='LSTM', accuracyv=acc, prec=precsn, recall=recall, f1sc=f1score)
150
+ d.save()
151
+
152
+
153
+ return render(request, 'trainingpage.html', {'msg': "LSTM Classifier Training & Testing Completed Successfully"})
154
+
155
+
156
+
157
+
158
+ def accuracyview(request):
159
+ if "adminid" in request.session:
160
+ d = accuracysc.objects.all()
161
+ accuracygraph()
162
+ precgraph()
163
+ recallgraph()
164
+ f1graph()
165
+
166
+ return render(request, 'viewaccuracy.html', {'data': d})
167
+ else:
168
+ return render(request, 'admin.html')
169
+
170
+
171
+
172
+
173
+ def viewgraphs(request):
174
+ if "adminid" in request.session:
175
+ accuracygraph()
176
+ precgraph()
177
+ recallgraph()
178
+ f1graph()
179
+
180
+
181
+ return render(request, 'viewgraph.html')
182
+ else:
183
+ return render(request, 'admin.html')
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+ def accuracygraph():
193
+ if True:
194
+ data = {}
195
+ row = accuracysc.objects.filter(algo='CNN')
196
+ rlist = []
197
+ for r in row:
198
+ rlist.append(r.accuracyv)
199
+ data['CNN']=rlist
200
+
201
+
202
+
203
+ row = accuracysc.objects.filter(algo='ANN')
204
+ rlist = []
205
+ for r in row:
206
+ rlist.append(r.accuracyv)
207
+ data['ANN']=rlist
208
+
209
+
210
+
211
+ row = accuracysc.objects.filter(algo='LSTM')
212
+ rlist = []
213
+ for r in row:
214
+ rlist.append(r.accuracyv)
215
+ data['LSTM']=rlist
216
+
217
+
218
+ from .bargraph import bargraph
219
+ bargraph.view(data,'acc.jpg', 'Accuracy')
220
+
221
+
222
+ def precgraph():
223
+ if True:
224
+ data = {}
225
+ row = accuracysc.objects.filter(algo='CNN')
226
+ rlist = []
227
+ for r in row:
228
+ rlist.append(r.prec)
229
+ data['CNN']=rlist
230
+
231
+
232
+
233
+ row = accuracysc.objects.filter(algo='LSTM')
234
+ rlist = []
235
+ for r in row:
236
+ rlist.append(r.prec)
237
+ data['LSTM']=rlist
238
+
239
+
240
+
241
+ row = accuracysc.objects.filter(algo='ANN')
242
+ rlist = []
243
+ for r in row:
244
+ rlist.append(r.prec)
245
+ data['ANN']=rlist
246
+
247
+
248
+ from .bargraph import bargraph
249
+ bargraph.view(data,'prec.jpg', 'Precision')
250
+
251
+
252
+ def recallgraph():
253
+ if True:
254
+ data = {}
255
+ row = accuracysc.objects.filter(algo='CNN')
256
+ rlist = []
257
+ for r in row:
258
+ rlist.append(r.recall)
259
+ data['CNN']=rlist
260
+
261
+
262
+
263
+ row = accuracysc.objects.filter(algo='LSTM')
264
+ rlist = []
265
+ for r in row:
266
+ rlist.append(r.recall)
267
+ data['LSTM']=rlist
268
+
269
+
270
+
271
+ row = accuracysc.objects.filter(algo='ANN')
272
+ rlist = []
273
+ for r in row:
274
+ rlist.append(r.recall)
275
+ data['ANN']=rlist
276
+
277
+ from .bargraph import bargraph
278
+ bargraph.view(data,'recall.jpg', 'Recall')
279
+
280
+
281
+
282
+ def f1graph():
283
+ if True:
284
+ data = {}
285
+ row = accuracysc.objects.filter(algo='CNN')
286
+ rlist = []
287
+ for r in row:
288
+ rlist.append(r.f1sc)
289
+ data['CNN']=rlist
290
+
291
+
292
+
293
+ row = accuracysc.objects.filter(algo='LSTM')
294
+ rlist = []
295
+ for r in row:
296
+ rlist.append(r.f1sc)
297
+ data['LSTM']=rlist
298
+
299
+
300
+
301
+ row = accuracysc.objects.filter(algo='ANN')
302
+ rlist = []
303
+ for r in row:
304
+ rlist.append(r.f1sc)
305
+ data['ANN']=rlist
306
+
307
+
308
+ from .bargraph import bargraph
309
+ bargraph.view(data,'f1sc.jpg', 'F1 Score')
310
+
311
+
312
+ def search(request):
313
+ import sys,tweepy,re
314
+
315
+
316
+ if request.method=='POST':
317
+ keys=request.POST['keys']
318
+ from .TweetSearch import TweetSearch
319
+ l=TweetSearch.search(keys)
320
+ print(l,'><<<<<<<<<<<<<<<<<<<<<<<<')
321
+ ii=1
322
+
323
+
324
+ from .LSTM import get_predictions
325
+ res=get_predictions(l)
326
+
327
+
328
+ print("res=",res)
329
+
330
+ t=tweets.objects.all()
331
+ t.delete()
332
+
333
+
334
+
335
+ print(l)
336
+ for l1 in range(len(res)):
337
+ try:
338
+ r=tweets(sno=ii,tweet=l[l1], sentiment=res[l1])
339
+ r.save()
340
+ except:
341
+ pass
342
+ ii=ii+1
343
+
344
+ data=tweets.objects.all()
345
+ print("data=",data)
346
+
347
+
348
+ return render(request, 'tweetsresults.html',{'data':data})
349
+
350
+
351
+ else:
352
+ return render(request, 'search.html')
353
+
354
+ def sentiresults(request):
355
+ from .Freq import CountFrequency
356
+ from .Graphs import viewg
357
+
358
+ senti=[]
359
+
360
+
361
+ if "email" in request.session:
362
+ data=tweets.objects.all()
363
+ for d1 in data:
364
+ senti.append(d1.sentiment)
365
+
366
+ d=CountFrequency(senti)
367
+ viewg(d)
368
+
369
+
370
+
371
+ return render(request, 'tweetsresults2.html',{'data':data})
372
+
373
+
374
+ else:
375
+ return render(request, 'user.html')
376
+
377
+
378
+
379
+ def viewgraph2(request):
380
+ if "email" in request.session:
381
+
382
+ from PIL import Image
383
+
384
+ im = Image.open(r"g1.jpg")
385
+
386
+ im.show()
387
+
388
+
389
+
390
+ return redirect('sentiresults')
391
+
392
+