-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.py
38 lines (26 loc) · 1 KB
/
server.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
import requests
from flask import Flask, render_template, jsonify
app = Flask(__name__)
def get_random_wikipedia_article():
url = "https://en.wikipedia.org/api/rest_v1/page/random/summary"
try:
response = requests.get(url).json()
image_url = response.get('thumbnail', {}).get('source', None)
summary = response['extract'][:500] + '...' if len(response['extract']) > 500 else response['extract']
return {
"title": response['title'],
"summary": summary,
"image_url": image_url,
"article_url": response['content_urls']['desktop']['page']
}
except Exception as e:
return get_random_wikipedia_article()
@app.route('/')
def index():
return render_template('index.html')
@app.route('/random-article')
def random_article():
article = get_random_wikipedia_article()
return jsonify(article)
if __name__ == '__main__':
app.run(debug=True)