· 6 years ago · Sep 08, 2019, 09:20 AM
1# Youssef Selkani (2019)
2
3@app.route('/analysis', methods=['GET','POST'])
4def results():
5
6 keyword = str(request.args.get( "keyword" , None ))
7 conn = sqlite3.connect(":memory:")
8 cursor = conn.cursor()
9 cursor.execute("""
10 CREATE TABLE IF NOT EXISTS main(
11 Keyword TEXT,
12 Title TEXT,
13 Description TEXT,
14 URL TEXT,
15 IMGLink TEXT,
16 Score INTEGER,
17 sqltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
18 );
19 """)
20
21 resultslist = []
22 scorelist = []
23 index = 0
24 limit = 20
25
26 data = newsapi.get_everything( q=keyword,
27 sources='crypto-coins-news',
28 language='en',
29 sort_by='publishedAt',
30 )
31 load = data['articles']
32
33 for index, post in zip(range(limit), load):
34 title = post['title']
35 description = post['description']
36 url = post['url']
37 imglink = post['urlToImage']
38 scoredesc = indicoio.sentiment_hq(title)
39 calc = (scoredesc*100)
40 score = ("%.2f" % calc)
41 scorelist.append(float(score))
42 nline = keyword, title, description, url, imglink, score
43 cursor.execute('INSERT INTO main (Keyword, Title, Description, URL, IMGLink, Score) VALUES (?, ?, ?, ?, ?, ?)', (nline))
44 conn.commit()
45
46 for row in cursor.execute("SELECT Title, Description, URL, IMGLink, Score, sqltime FROM main ORDER BY Score DESC LIMIT 16"):
47 resultslist.append(row)
48
49 sumlist = (sum(scorelist))
50 lenght_list = (len(scorelist))
51 before = (sumlist/lenght_list)
52 average = float("%.0f" % before) + 10
53
54 return render_template('analysis.html', resultslist=resultslist, keyword=keyword, average=average)