Browse Source

sstatus

master
Victor Fors 2 years ago
parent
commit
bf4467c300
1 changed files with 47 additions and 0 deletions
  1. +47
    -0
      sstatus

+ 47
- 0
sstatus View File

@@ -0,0 +1,47 @@
#!/usr/bin/python3
import requests
import sys
import textwrap

api = 'https://api.steampowered.com/'
key = '63578AF8E85EDF1E49411D5D4E18E166'
uid = '76561198008294872'

# Fetch JSON from url and run it through transform, pretty printing errors
# and the data worked on as exhaustively as possible.
def json_query(url, transform, params={}):
try:
result = requests.get(url, params)
except ConnectionError:
print("Network connection error.")
sys.exit(1)
try:
data = result.json()
except JSONDecodeError as err:
print('Error when decoding JSON:\nFrom endpoint ' + url + ':\n' + err + '\n' + result + '\n')
sys.exit(1)
try:
return transform(data)
except (IndexError, KeyError) as err:
print('Error when traversing JSON:\nFrom endpoint ' + url + ':\n' + err)
pprint.PrettyPrinter(indent=2).pprint(data)
sys.exit(1)

def steam_query(endpoint, transform, params={}):
new_params = params.copy()
new_params['key'] = key
json_query(api + endpoint + '/', transform, new_params)

def get_friend_list():
params = {
'steamid' : uid,
'relationship' : 'friend'
}
return steam_query('SteamUser/GetFriendList/v0001' lambda data: [friend['steamid'] for friend in data], params)

def main():
for steamid in get_friend_list():
print(steamid)

if __name__ == '__main__':
main()

Loading…
Cancel
Save