39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
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)
|