-
Notifications
You must be signed in to change notification settings - Fork 0
/
responses.py
96 lines (79 loc) · 2.85 KB
/
responses.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# ESI API WRAPPER
import requests
# How to print War Details
class War:
def __init__(self, aggressor, declared, defender, finished):
self.aggressor = aggressor
self.declared = declared
self.defender = defender
self.finished = finished
def __str__(self):
return f'''
Aggressor: {self.aggressor}
War Declared On: {self.declared}
Defender: {self.defender}
War Finished On: {self.finished}
'''
# API WRAPPER
class EveAPI:
base_url = 'https://esi.evetech.net/latest'
# >>> Calendar Endpoints: <<<
# Get an event: GET || /characters/{character_id}/calendar/{event_id}/
def getEvents(self, char_id, event_id):
request_url = self.base_url + '/characters/' + char_id + '/calendar/' + event_id + '/'
response = requests.get(request_url)
if response.ok:
data = response.json()
return data
else:
return 'Error'
# >>> Corporations Endpoints: <<<
# Get corporation starbases (POSes): GET || /corporations/{corporation_id}/starbases/
def getStarbases(self, corp_id):
request_url = self.base_url + '/corporations/' + corp_id + '/starbases/'
response = requests.get(request_url)
if response.ok:
data = response.json()
return data
else:
return 'Error'
# Get starbase (POS) detail: GET || /corporations/{corporation_id}/starbases/{starbase_id}/
def getStarbaseDetail(self, corp_id, sb_id):
request_url = self.base_url + '/corporations/' + corp_id + '/starbases/' + sb_id + '/'
response = requests.get(request_url)
if response.ok:
data = response.json()
return data
else:
return 'Error'
# Get corporation structures: GET || /corporations/{corporation_id}/structures/
def getStarbases(self, corp_id):
request_url = self.base_url + '/corporations/' + corp_id + '/structures/'
response = requests.get(request_url)
if response.ok:
data = response.json()
print(data)
return data
else:
return 'Error'
# TEST ENDPOINTS:
def getWarInfo(self, war_id):
request_url = self.base_url + '/wars/' + war_id
response = requests.get(request_url)
if response.ok:
data = response.json()
print(data)
war_info = War(data['aggressor'], data['declared'], data['defender'], data['finished'])
return war_info
else:
return 'Error'
# >>>> TESTER DRVIER CODE:
def mainWarTest():
client = EveAPI()
while True:
war_id = input('Input ID of war OR "quit"')
if war_id == 'quit':
break
war = client.getWarInfo(war_id)
print(war)
mainWarTest()