-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathadventofcode.py
executable file
·40 lines (30 loc) · 1.18 KB
/
adventofcode.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
#!/usr/bin/env python3
import requests
SESSION_COOKIE = "53616c7465645f5f9f26202190bf8a24af452b84bdfc7ac0153ac0f32ca4bab16f8f21b2a603b811df0771bcf371b546"
LEADERBOARD_URL = "https://adventofcode.com/2018/leaderboard/private/view/227196.json"
cookies = {
'session': SESSION_COOKIE
}
leaderboard = requests.get(LEADERBOARD_URL, cookies=cookies).json()
members = leaderboard['members']
table = "\nCurrent Advent of Code 2018 ranking:\n"
table += '{0:3} {1:4} {2:26} {3}\n'.format("", "", " 1111111111222222", "")
table += '{0:3} {1:4} {2:26} {3}\n'.format("", "", "1234567890123456789012345", "")
for position, member in enumerate(sorted(members.values(), key=lambda k: k['local_score'], reverse=True)):
stars = ""
for n in range(1,25):
days = member['completion_day_level']
if str(n) in days and days[str(n)]:
if "2" in days[str(n)]:
stars += '*'
else:
stars += '-'
else:
stars += ' '
table += '{0:3}) {1:4} {2:26} {3}\n'.format(
position + 1,
member['local_score'],
stars,
member['name'],
)
print("```{}```".format(table))