-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmy_ranks.py
More file actions
62 lines (51 loc) · 1.85 KB
/
my_ranks.py
File metadata and controls
62 lines (51 loc) · 1.85 KB
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
#!/usr/bin/env python3
import requests
import re
from urllib.parse import unquote
from write_in_excel import write_file
def get_url(filepath):
url_list = open(filepath, 'r')
url_list = url_list.read().split('\n')
return (url_list)
def get_request(battle_tag):
adress = "https://ow-api.com/v1/stats/pc/eu/:btag/profile"
new_adress = re.sub(':btag', str(battle_tag), adress)
response = requests.get(new_adress)
rank_json = response.json()
return (rank_json)
def get_levels(request):
level = int(request['level']) + (int(request['prestige']) * 100)
endorsement = request['endorsement']
return (level, endorsement)
def get_role_queue_ranks(ratings):
ranks = [0, 0, 0, 0]
if ratings == None:
return (ranks)
for i in range (len(ratings)):
ranks[int(ratings[i]['role'] == 'tank') + (int(ratings[i]['role'] == 'damage') * 2) + (int(ratings[i]['role'] == 'support') * 3)] = ratings[i]['level']
return (ranks[1:])
def get_battletag(battle_tag):
battle_tag = battle_tag.replace('-', '#')
battle_tag = unquote(battle_tag)
return (battle_tag)
def get_all_profile(url_list):
profile = []
levels = []
for battle_tag in url_list:
request = get_request(battle_tag)
if (request['private'] == 1):
continue
levels = get_levels(request)
ranks = get_role_queue_ranks(request['ratings'])
battle_tag = get_battletag(battle_tag)
profile.append([battle_tag, levels[0], levels[1], ranks[0], ranks[1], ranks[2]])
print("ACCOUNT", battle_tag, "UPDATE")
print("DATA RECEVIED")
return(profile)
def main():
url_list = get_url("adress.txt")
profile = get_all_profile(url_list)
write_file(profile)
print("UPDATE COMPLETE")
if __name__ == "__main__":
main()