-
Notifications
You must be signed in to change notification settings - Fork 0
/
Main.py
104 lines (76 loc) · 2.71 KB
/
Main.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import library
import requests
API_key = "358969da-a891-4cbc-88d5-de39cdfa77ce"
default_region = "br"
default_summoner = "Unuzual"
number_of_servers = 10
API_Versions = {
'lolstats':'v1.0',
'summoner':'v1.4',
}
def clean_name(name):
return name.replace(' ','').lower()
class serverException(Exception):
def __init__(self,error):
self.error=error
def __str__(self):
return self.error
error_400 = serverException("Bad request")
error_401 = serverException("Unauthorized")
error_404 = serverException("Game data not found")
error_429 = serverException("Too many requests")
error_500 = serverException("Internal server error")
error_503 = serverException("Service unavailable")
def raise_status(response):
if response.status_code == 400:
raise error_400
elif response.status_code == 401:
raise error_401
elif response.status_code == 404:
raise error_404
elif response.status_code == 429:
raise error_429
elif response.status_code == 500:
raise error_500
elif response.status_code == 503:
raise error_503
else:
response.raise_for_status()
class riotPythonAPI:
def __init__(self,API_key,region=None,Summoner=None):
self.key = API_key
if region is None:
self.default_region=Region
else:
self.default_region=region
self.default_summoner=Summoner
#lolstatus-1.0
def request_server_status(self,region = None):
if region is None:
#print '+'*30
r = requests.get('http://status.leagueoflegends.com/shards/{url}'.format(url=default_region))
else:
#print '-'*30
r = requests.get('http://status.leagueoflegends.com/shards/{url}'.format(url=region))
return r.json()
def request_server_list(self):
r = requests.get('http://status.leagueoflegends.com/shards')
return r.json()
def server_list(self):
serverList =[]
for i in range(0,number_of_servers-1):
serverList.append(self.request_server_list()[i]['slug'])
return serverList
#summoner-v1.4
def request_summoner_id(self,new_summoner = None):
if new_summoner is None:
region = self.default_region
summoner = clean_name(self.default_summoner)
r = requests.get('https://{region}.api.pvp.net/api/lol/{region}/{version}/summoner/by-name/{summoner}?api_key={key}'.format(region=region,summoner=summoner,key=API_key,version=API_Versions['summoner']))
else:
summoner = clean_name(new_summoner)
region = self.default_region
r = requests.get('https://{region}.api.pvp.net/api/lol/{region}/{version}/summoner/by-name/{summoner}?api_key={key}'.format(region=region,summoner=summoner,key=API_key,version=API_Versions['summoner']))
return r.json()[summoner]['id']
x = riotPythonAPI(API_key,'br','doublelift')
print x.request_summoner_id('unuzual')