-
Notifications
You must be signed in to change notification settings - Fork 1
/
getAllSummoner.py
40 lines (33 loc) · 1.17 KB
/
getAllSummoner.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
import databaseHandler as db
import riotAPIHandler as api
import time
def getNewSummoner():
error = 0
# get the currently highest summonerId from the database
summonerIDPointer = db.selectFetchOne("SELECT summonerId FROM summoner ORDER BY summonerId DESC")
if summonerIDPointer is None:
summonerIDPointer = 0
else:
summonerIDPointer = summonerIDPointer[0] + 1
print(summonerIDPointer)
while True:
# check the next 40 ids
summonerIDs = []
for i in range(summonerIDPointer, summonerIDPointer + 39):
summonerIDs.append(i)
response = api.getSummonerByIDs(summonerIDs, "euw")
if type(response) is dict:
error = 0
db.insertSummoner(response)
else:
error += 1
# if there are more than 400 empty ids it's fair to assume this was the last one
if error >= 20:
print("50 Errors in a row... fairly sure that's all for now.")
break
summonerIDPointer += 40
# check for new Ids once a day
while True:
epochTime = int(time.time()*1000)
getNewSummoner()
sleepTime = 86400000 - (int(time.time()*1000) - epochTime)