-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
139 lines (98 loc) · 3.84 KB
/
app.py
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
from flask import Flask, jsonify, request, make_response, logging
import json
from main2 import *
import random as rd
import emotion as em
import Suggestionfunc as s
import os
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
from chatbot import Chat, register_call
import warnings
warnings.filterwarnings("ignore")
app = Flask(__name__)
@app.route("/")
def hello():
return jsonify({'msg': 'hello', }), 200
@app.route("/a")
def helloa():
return jsonify({'msg': 'hello world', }), 200
chat = Chat(os.path.join(os.path.dirname(os.path.abspath(__file__)), "Example.template"))
@app.route("/Bot", methods=['POST'])
def Bot():
try:
jsondata = request.get_data().decode("utf-8")
jsondata = json.loads(jsondata)
first_question = jsondata['msg']
# print(chat.say(first_question,jsondata['id']))
return jsonify({'msg': chat.say(first_question),"score":sentiment_analyzer_scores( jsondata['msg'])}), 200
except Exception as e:
print(str(e))
return jsonify({'msg': 'try Again', }), 401
def sentiment_analyzer_scores(sentence):
analyser = SentimentIntensityAnalyzer()
score = analyser.polarity_scores(sentence)
return ( str(score["compound"]))
@app.route("/Askme", methods=['POST'])
def Askme():
try:
jsondata = request.get_data().decode("utf-8")
jsondata = json.loads(jsondata)
print(main_call(jsondata['msg']))
return jsonify({'msg': (main_call(jsondata['msg'])) }), 200
except Exception as e:
print(str(e))
return jsonify({'msg': 'try Again', }), 401
@app.route("/suggestiontest", methods=['GET'])
def suggestiontest():
list1=list([["How was your day today?","Superb","Satisfied","Regular (As usual)","Worst"],["Turnout of the quarrel?", "I won the debate","compromised for peace","forgot the fight and started talking","fight led to complications in relationship"],["Anticipation of next morning?","Excited (big day)","As usual (regular stuffs)","Nothing much","Exhausted"],["Do I like and enjoy my current physical state?","Absolutely","Look to improve everyday","Do look for motivation","low self-esteem"]])
i = rd.randint(0,len(list1)-1)
print(list1[i])
return jsonify({'msg': list1[i]}), 200
@app.route("/question", methods=['POST'])
def question():
# f = open('question.json', )
# data = json.load(f)
# print(data)
# lis = rd.sample(dict(data).keys() ,5)
# jdata = dict()
# for i in lis :
# jdata[i] = data[i]
#
#
# return jsonify({'msg': json.dumps(jdata)}), 200
f = open('question2.json', )
data = json.load(f)
data = data["Question"]
lis = rd.sample((data), 5)
jdata = dict()
for i in range(5):
jdata[i] = lis[i]
return jsonify({'msg': json.dumps(jdata)}), 200
@app.route("/Checkquestionans", methods=['POST'])
def Checkquestionans():
try:
jsondata = request.get_data().decode("utf-8")
jsondata = json.loads(jsondata)
ans = jsondata['Ans']
# print(chat.say(first_question,jsondata['id']))
return jsonify({'msg': float(sentiment_analyzer_scores(ans))}), 200
except Exception as e:
print(str(e))
return jsonify({'msg': 'try Again 1 '+str(e), }), 401
def getsuggutiondata(f):
data = json.load(f)
lis = rd.sample(dict(data).keys(), 5)
jdata = dict()
for i in lis:
jdata[i] = data[i]
# print(112211,jdata)
f.close()
return jdata
@app.route("/suggestion", methods=['POST'])
def suggestion ():
f = open('testbook.json', )
f1 = open('General.json', )
f2 = open('audiobook.json', )
# print(getsuggutiondata(f))
# print( json.dumps(getsuggutiondata(f)))
return jsonify({'testbook': json.dumps(getsuggutiondata(f)),'general': json.dumps(getsuggutiondata(f1)),'audiobook': json.dumps(getsuggutiondata(f2))},), 200