summaryrefslogtreecommitdiffhomepage
path: root/salvager/esi.py
diff options
context:
space:
mode:
Diffstat (limited to 'salvager/esi.py')
-rw-r--r--salvager/esi.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/salvager/esi.py b/salvager/esi.py
index d6acf30..5ded1d4 100644
--- a/salvager/esi.py
+++ b/salvager/esi.py
@@ -1,7 +1,7 @@
import requests
-def _make_endpoint(path, include=None, exclude=None, trim=None):
+def _make_endpoint(path, include=None, exclude=None, trim=None, method=requests.get):
def _trim(data):
if include:
data = {k: v for k, v in data.items() if k in include}
@@ -14,13 +14,13 @@ def _make_endpoint(path, include=None, exclude=None, trim=None):
if not callable(trim):
trim = _trim
- def _get(*args):
+ def _method(*args, **kwargs):
query = "https://esi.evetech.net/latest/" + path + "?datasource=tranquility"
- response = requests.get(query.format(*args))
+ response = method(query.format(*args), **kwargs)
response.raise_for_status()
return trim(response.json())
- return _get
+ return _method
def _trim_killmail(km):
@@ -30,9 +30,18 @@ def _trim_killmail(km):
return km
+def _trim_names(names):
+ for name in names:
+ del name['category']
+ return names
+
+
killmail = _make_endpoint("killmails/{}/{}/", trim=_trim_killmail)
type = _make_endpoint("universe/types/{}/", include=['type_id', 'name', 'group_id'])
system = _make_endpoint(
"universe/systems/{}/", include=['system_id', 'constellation_id', 'name', 'position', 'security_status'])
constellation = _make_endpoint("universe/constellations/{}/", include=['region_id', 'name'])
region = _make_endpoint("universe/regions/{}/", include=['name'])
+names = _make_endpoint("universe/names/", method=requests.post, trim=_trim_names)
+corporation = _make_endpoint("corporations/{}/", include=['corporation_id', 'name', 'ticker'])
+alliance = _make_endpoint("alliances/{}/", include=['alliance_id', 'name', 'ticker'])