-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.py
74 lines (64 loc) · 2.02 KB
/
test.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
from flask import *
import requests
app = Flask(__name__)
@app.route('/')
def home():
return render_template('sitechoice.html')
@app.route('/results',methods=['post'])
def results():
site=request.form['site']
user=request.form['user']
if site!="Codeforces":
return 'API for %s under-construction'%site
if site=="Codeforces":
url='http://codeforces.com/api/user.info?handles='+user
info=requests.get(url)
info=info.json()
chk=info['status']
if chk=="FAILED":
return 'Request FAILED because %s '%info['comment']
else:
info=info['result']
pic=info[0]['titlePhoto']
email="-"
if 'email' in info[0].keys():
email=info[0]['email']
handle=info[0]['handle']
rating=info[0]['rating']
level=info[0]['rank']
mxrating=info[0]['maxRating']
mxlevel=info[0]['maxRank']
ct="-"
if 'country' in info[0].keys():
ct=info[0]['country']
fr=info[0]['friendOfCount']
org="-"
if 'organization' in info[0].keys():
org=info[0]['organization']
contri=info[0]['contribution']
url2='http://codeforces.com/api/user.rating?handle='+user
conts=requests.get(url2)
conts=conts.json()
chk=conts['status']
if chk=="FAILED":
return 'Request FAILED because %s '%conts['comment']
else:
conts=conts['result']
contsct=len(conts)
url3='http://codeforces.com/api/user.status?handle='+user+'&from=1&count=1000000'
solved=requests.get(url3)
solved=solved.json()
chk=solved['status']
if chk=="FAILED":
return 'Request FAILED because %s '%solved['comment']
else:
ac=0
solved=solved['result']
l=len(solved)
for i in range(0,l,1):
if solved[i]['verdict']=="OK":
ac+=1
return render_template('codeforcesres.html',ac=ac,pic=pic,email=email,username=handle,rating=rating,level=level,maxrating=mxrating,maxlevel=mxlevel,country=ct,friends=fr,org=org,contri=contri,contests=contsct)
if __name__ == '__main__':
app.debug = True
app.run()