renames and testing using fx to explore output
This commit is contained in:
parent
8521e5a271
commit
da134e3d6b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
.oauthtoken
|
.oauthtoken
|
||||||
|
*.csv
|
||||||
|
4
account-json.sh
Normal file
4
account-json.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
token="$(cat .oauthtoken)"
|
||||||
|
curl -H "Authorization: Bearer $token" "https://us.api.blizzard.com/profile/user/wow?namespace=profile-us&locale=en_US" > ./output/account.json
|
||||||
|
# output_json=$(curl -H "Authorization: Bearer $token" "https://us.api.blizzard.com/profile/user/wow?namespace=profile-us&locale=en_US")
|
||||||
|
#jq -r '.wow_accounts[0].characters[] | [.name, .level] | @csv'
|
@ -1,38 +0,0 @@
|
|||||||
import http.server
|
|
||||||
from oauthlib.oauth2 import WebApplicationClient
|
|
||||||
import webbrowser
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
import ast
|
|
||||||
|
|
||||||
|
|
||||||
token_file = open(".oauthtoken", "r")
|
|
||||||
oauth_token = token_file.readline()
|
|
||||||
|
|
||||||
def oauth_api_curl(url):
|
|
||||||
command = ["curl", "-sH", "Authorization: Bearer {}".format(oauth_token), "https://us.api.blizzard.com/profile/user/wow?namespace=profile-us&locale=en_US"]
|
|
||||||
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
|
||||||
|
|
||||||
# Get the output and error message (if any)
|
|
||||||
output = result.stdout
|
|
||||||
output_dict = ast.literal_eval(output)
|
|
||||||
error = result.stderr
|
|
||||||
|
|
||||||
characters = output_dict['wow_accounts'][0]['characters']
|
|
||||||
char_dicts = []
|
|
||||||
# Check if it was successful
|
|
||||||
if result.returncode == 0:
|
|
||||||
print("Success:")
|
|
||||||
for char in characters:
|
|
||||||
# TODO: API call for char['protected_character'] url via curl for more info
|
|
||||||
char_dict = {'id': char['id'],
|
|
||||||
'name': char['name'],
|
|
||||||
'level': char['level'],
|
|
||||||
'realm': char['realm']['name'],
|
|
||||||
'class': char['playable_class']['name']}
|
|
||||||
char_dicts.append(char_dict)
|
|
||||||
print(char_dict)
|
|
||||||
print(char)
|
|
||||||
else:
|
|
||||||
print("Error:")
|
|
||||||
print(error)
|
|
1
output/account.json
Normal file
1
output/account.json
Normal file
File diff suppressed because one or more lines are too long
11
testing.sh
11
testing.sh
@ -1,10 +1,3 @@
|
|||||||
CLIENT_ID="a79bae348867427690ca6df9903e4af0"
|
token=$(cat .oauthtoken)
|
||||||
CLIENT_SECRET="VfFc4JRxn4MpA5zRVut1gPIh6E5WrEC5"
|
curl -H "Authorization: Bearer $token" "https://us.api.blizzard.com/data/wow/token/?namespace=dynamic-us" | fx
|
||||||
# CLIENT_ACCESS_TOKEN_RESPONSE="$(curl -u $CLIENT_ID:$CLIENT_SECRET -d grant_type=client_credentials https://oauth.battle.net/token)"
|
|
||||||
# CLIENT_ACCESS_TOKEN=$(echo $CLIENT_ACCESS_TOKEN_RESPONSE | jq -r '.access_token')
|
|
||||||
OAUTH_ACCESS_CODE="USGUSBUZGNQ29JBWKMVFWHIUKIUXUHWW88"
|
|
||||||
OAUTH_ACCESS_TOKEN_RESPONSE="$(curl -X POST https://oauth.battle.net/token -u $CLIENT_ID:$CLIENT_SECRET -d http://localhost:5635/login_success -d grant_type=authorization_code -d code=$OAUTH_ACCESS_CODE)"
|
|
||||||
# OAUTH_ACCESS_TOKEN=$(echo $OAUTH_ACCESS_TOKEN_RESPONSE | jq -r '.access_token')
|
|
||||||
echo $OAUTH_ACCESS_TOKEN_RESPONSE
|
|
||||||
# curl -H "Authorization: Bearer $CLIENT_ACCESS_TOKEN" "https://us.api.blizzard.com/data/wow/token/?namespace=dynamic-us" | jq
|
|
||||||
# curl -H "Authorization: Bearer $CLIENT_ACCESS_TOKEN" "https://us.api.blizzard.com/data/wow/guild/proudmoore/stellar/roster?namespace=profile-us" | jq '.members[].character.name'
|
# curl -H "Authorization: Bearer $CLIENT_ACCESS_TOKEN" "https://us.api.blizzard.com/data/wow/guild/proudmoore/stellar/roster?namespace=profile-us" | jq '.members[].character.name'
|
||||||
|
78
toon-info.py
Normal file
78
toon-info.py
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
import http.server
|
||||||
|
from oauthlib.oauth2 import WebApplicationClient
|
||||||
|
import webbrowser
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
import ast
|
||||||
|
import json
|
||||||
|
import csv
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
|
token_file = open(".oauthtoken", "r")
|
||||||
|
oauth_token = token_file.readline()
|
||||||
|
|
||||||
|
def json_print(dict_in):
|
||||||
|
print(json.dumps(dict_in, indent=2))
|
||||||
|
|
||||||
|
def oauth_api_curl(url):
|
||||||
|
command = ["curl", "-sH", "Authorization: Bearer {}".format(
|
||||||
|
oauth_token), url]
|
||||||
|
result = subprocess.run(command, stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE, text=True)
|
||||||
|
|
||||||
|
if result.returncode == 0:
|
||||||
|
return result.stdout
|
||||||
|
else:
|
||||||
|
error = result.stderr
|
||||||
|
print("Error:")
|
||||||
|
return error
|
||||||
|
|
||||||
|
account_str = oauth_api_curl("https://us.api.blizzard.com/profile/user/wow?namespace=profile-us&locale=en_US")
|
||||||
|
account_eval = ast.literal_eval(account_str)
|
||||||
|
|
||||||
|
if type(account_eval) == dict:
|
||||||
|
characters = account_eval['wow_accounts'][0]['characters']
|
||||||
|
char_dicts = []
|
||||||
|
for char in characters:
|
||||||
|
char_dict = {
|
||||||
|
'id': char['id'],
|
||||||
|
'name': char['name'],
|
||||||
|
'level': char['level'],
|
||||||
|
'faction': char['faction']['name'],
|
||||||
|
'race': char['playable_race']['name'],
|
||||||
|
'class': char['playable_class']['name'],
|
||||||
|
'realm': char['realm']['name'],
|
||||||
|
}
|
||||||
|
char_dicts.append(char_dict)
|
||||||
|
|
||||||
|
|
||||||
|
char_keys = char_dicts[0].keys()
|
||||||
|
|
||||||
|
with open('./output/toons-{}.csv'.format(datetime.now().strftime("%Y%m%d-%H%M%S")), 'w', newline='') as output_file:
|
||||||
|
dict_writer = csv.DictWriter(output_file, char_keys)
|
||||||
|
dict_writer.writeheader()
|
||||||
|
dict_writer.writerows(char_dicts)
|
||||||
|
|
||||||
|
|
||||||
|
prot_char_url = char['protected_character']['href']
|
||||||
|
prot_char_str = oauth_api_curl(prot_char_url)
|
||||||
|
prot_char_eval = ast.literal_eval(prot_char_str)
|
||||||
|
|
||||||
|
if type(prot_char_eval) == dict:
|
||||||
|
print(prot_char_eval['protected_stats'].keys())
|
||||||
|
else:
|
||||||
|
print('eval\'d type:', type(prot_char_eval))
|
||||||
|
|
||||||
|
|
||||||
|
profs_url = "https://us.api.blizzard.com/profile/wow/character/{}/{}/professions?namespace=profile-us&locale=en_US".format(
|
||||||
|
char['realm']['slug'], char['name'].lower())
|
||||||
|
profs_str = oauth_api_curl(profs_url)
|
||||||
|
profs_eval = ast.literal_eval(profs_str)
|
||||||
|
if type(profs_eval) == dict:
|
||||||
|
json_print(profs_eval)
|
||||||
|
else:
|
||||||
|
print('eval\'d type:', type(profs_eval))
|
||||||
|
else:
|
||||||
|
print('eval\'d type:', type(account_eval))
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
curl -H "Authorization: Bearer USCdfWcbxv1hGYQDPWSXbvr84SHme9eJ5T" "https://us.api.blizzard.com/profile/user/wow?namespace=profile-us&locale=en_US" | jq -r '.wow_accounts[0].characters[] | [.name, .level] | @csv'
|
|
Loading…
Reference in New Issue
Block a user