sstatus
This commit is contained in:
parent
52da575c66
commit
bf4467c300
47
sstatus
Executable file
47
sstatus
Executable 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…
Reference in New Issue
Block a user