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
from flask import Flask, jsonify, send_file #, url_for
import os, json
app = Flask(__name__)
def read(fname):
with open(fname, 'r') as f:
data = f.read()
f.close()
return json.loads(data)
@app.route('/')
def api_root():
return """Welcome I'm a <a href="http://www.python.org">python</a> server that give you data."""
@app.errorhandler(404)
def not_found(a):
return """Error! Ask the right question. <br/> ระบุข้อมูลและรูปแบบให้ถูกต้องด้วย """
@app.route('/<data>/<dataformat>')
def app_data(data, dataformat):
DATA = {
'speakers': ["K","Kai","Or","Paul","Tom","Woot"],
'height': [180,164,165,165,180,170],
'pop': [3.25,3.9,4,3,3.5,3.44],
'popularity': [3.25,3.9,4,3,3.5,3.44]
}
try:
if dataformat in ['txt', 'text', 'TXT']:
return " ".join(DATA[data])
if dataformat in ['json', 'JSON', 'jsn']:
return jsonify(DATA[data])
except: pass
return """Error! Ask the right question. <br/> ระบุข้อมูลและรูปแบบให้ถูกต้องด้วย """
@app.route('/api/<name>')
def api_name(name):
return jsonify(read('api/{}.json'.format(name)))
@app.route('/picture/<speaker>')
def api_image(speaker):
fname = 'image/{}.jpg'.format(speaker)
if os.path.exists(fname):
return send_file(fname, mimetype="image/jpeg")
return """Error! no picture for {}.""".format(speaker)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)