import requests
from secrets import *
+encounter_aliases = [
+ 'cloudRanks',
+ 'dogRanks',
+ 'thanRanks',
+ 'boobaRanks',
+ 'gaiaRanks',
+]
+
res = requests.post(
"https://www.fflogs.com/oauth/token",
data={"grant_type": "client_credentials"},
)
params = {
"name": f"{name}",
- "serverSlug": "{serverSlug}",
+ "serverSlug": f"{serverSlug}",
"serverRegion": "na",
}
result = client.execute(query, variable_values=params)
-print(result['characterData']['character']['cloudRanks']['ranks'][0]['report'])
-print(result['characterData']['character']['dogRanks']['ranks'][0]['report'])
-print(result['characterData']['character']['thanRanks']['ranks'][0]['report'])
-print(result['characterData']['character']['boobaRanks']['ranks'][0]['report'])
-print(result['characterData']['character']['gaiaRanks']['ranks'][0]['report'])
+encounter_ranks = [result['characterData']['character'][encounter_alias] for encounter_alias in encounter_aliases]
+reports = {rank['report']['code'] for encounter in encounter_ranks for rank in encounter['ranks']}
+query = gql(
+ '''
+ query ($code: String!) {
+ reportData {
+ report (
+ code: $code
+ )
+ {
+ code
+ rankings
+ }
+ }
+ }
+ '''
+ )
+for code in reports:
+ result = client.execute(query, variable_values={"code": code})
+ for kill_rank in result['reportData']['report']['rankings']['data']:
+ tanks = kill_rank['roles']['tanks']['characters']
+ healers = kill_rank['roles']['healers']['characters']
+ dps = kill_rank['roles']['dps']['characters']
+ pull = kill_rank['fightID']
+ print(code,pull,','.join([str(char['id']) for char in tanks] + [str(char['id']) for char in healers] + [str(char['id']) for char in dps]), sep="|")