Guest User

Untitled

a guest
Oct 1st, 2015
913
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import enum
  4. import json
  5. from urllib import request
  6.  
  7. PLACEHOLDER_IDS = set((162980314, 388328049, 2683405943, 3742197772))
  8. API_KEY = '10E792629C2A47E19356B8A79EEFA640'
  9. HEADERS = {'X-Api-Key': API_KEY}
  10. BASE_URL = 'https://www.bungie.net/platform/Destiny'
  11. SEARCH_PATH = '/SearchDestinyPlayer/{membershipType}/{displayName}/'
  12. ITEMS_PATH = '/{membershipType}/Account/{destinyMembershipId}/Items/?definitions=true'
  13.  
  14. class MembershipType(enum.Enum):
  15.   XBL = 1
  16.   PSN = 2
  17.  
  18. def get_api_response(path, **kwargs):
  19.   with request.urlopen(request.Request((BASE_URL + path).format(**kwargs), headers=HEADERS)) as res:
  20.     return json.loads(res.read().decode('utf-8'))['Response']
  21.  
  22. if __name__ == '__main__':
  23.   membership_type = MembershipType.__members__[input('XBL / PSN: ').upper()].value
  24.   membership_id = get_api_response(SEARCH_PATH, membershipType=membership_type, displayName=input('Username: '))[0]['membershipId']
  25.   res = get_api_response(ITEMS_PATH, membershipType=membership_type, destinyMembershipId=membership_id)
  26.   data, definitions = res['data'], res['definitions']
  27.   for item in data['items']:
  28.     if item['itemHash'] in PLACEHOLDER_IDS:
  29.       character = data['characters'][item['characterIndex']]
  30.       character_base = character['characterBase']
  31.       print('{}: Level {} {} {} {}'.format(
  32.           item['itemHash'], character['characterLevel'],
  33.           definitions['classes'][str(character_base['classHash'])]['className'],
  34.           definitions['races'][str(character_base['raceHash'])]['raceName'],
  35.           definitions['genders'][str(character_base['genderHash'])]['genderName']))
Advertisement
Add Comment
Please, Sign In to add comment