-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapi.py
44 lines (37 loc) · 1.18 KB
/
api.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
from flask import Flask, jsonify, request
from peewee import MySQLDatabase, RawQuery
from courtcases.moldova_courtcases_db import *
application = Flask(__name__)
@application.before_request
def _db_connect():
database.connect()
@application.teardown_request
def _db_close(exc):
if not database.is_closed():
database.close()
def getCourtcases(q):
rq = Courtcase.select().where(Courtcase.title.contains(q)).limit(100)
result = []
for row in rq:
result.append({
"title": row.title,
"court": row.courtName,
"caseNumber": row.caseNumber,
"caseType": row.caseType,
"theme": row.theme,
"deliveryDate": row.deliveryDate,
})
return result
def getCourtcasesCount(q):
casecount = Courtcase.select().where(Courtcase.title.contains(q)).count()
return str(casecount)
@application.route('/courtcases')
def courtcases():
q = request.args.get('q')
return jsonify(getCourtcases(q))
@application.route('/courtcasescount')
def courtcasescount():
q = request.args.get('q')
return getCourtcasesCount(q)
if __name__ == "__main__":
application.run(host='0.0.0.0', port=8090)