33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
import requests, json
|
|
|
|
# API request handler and data access
|
|
class WorldState():
|
|
def __init__(self):
|
|
self.client = requests.Session()
|
|
self.ws = {}
|
|
self.get_ws()
|
|
|
|
def get_ws(self):
|
|
try:
|
|
self.ws = json.loads(self.client.get('https://api.warframestat.us/pc?language=en').text)
|
|
except requests.exceptions.ConnectionError:
|
|
return False
|
|
|
|
# aribtrary mapping, some skipped, some not-standard anyway
|
|
# better way is probably to do setattr in a loop, but then need to
|
|
# change code and handle baro.
|
|
# not willing to change it on the off chance much of this is replaced if
|
|
# content API becomes useful and names change again
|
|
|
|
self.fissures = self.ws.get('fissures')
|
|
self.invasions = self.ws.get('invasions')
|
|
self.sorties = self.ws.get('sortie')
|
|
self.archon_hunt = self.ws.get('archonHunt')
|
|
self.arbitration = self.ws.get('arbitration')
|
|
self.alerts = self.ws.get('alerts')
|
|
self.baro_items = self.ws.get('voidTrader').get('inventory')
|
|
self.nightwave = self.ws.get('nightwave')
|
|
self.events = self.ws.get('events')
|
|
self.news = self.ws.get('news')
|
|
|
|
return True
|