summaryrefslogtreecommitdiffhomepage
path: root/salvager
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-05-25 18:48:11 +0200
committerAki <please@ignore.pl>2022-05-25 18:48:11 +0200
commit286d663f05c03b56b6510080db806794b4891150 (patch)
treed5f3e20b7582c3e0cbac5f5abe4ec3aa5048b05b /salvager
parent287450f0e9a237c55d64e493984a419908139b3d (diff)
downloadsalvager-286d663f05c03b56b6510080db806794b4891150.zip
salvager-286d663f05c03b56b6510080db806794b4891150.tar.gz
salvager-286d663f05c03b56b6510080db806794b4891150.tar.bz2
Added type details and moved esi stuff to own module
Diffstat (limited to 'salvager')
-rw-r--r--salvager/esi.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/salvager/esi.py b/salvager/esi.py
new file mode 100644
index 0000000..4783e12
--- /dev/null
+++ b/salvager/esi.py
@@ -0,0 +1,34 @@
+import requests
+
+
+def _make_endpoint(path, include=None, exclude=None, trim=None):
+ def _trim(data):
+ if include:
+ data = {k: v for k, v in data.items() if k in include}
+ if exclude:
+ for key in exclude:
+ if key in data:
+ del data[key]
+ return data
+
+ if not callable(trim):
+ trim = _trim
+
+ def _get(*args):
+ query = "https://esi.evetech.net/latest/" + path + "?datasource=tranquility"
+ response = requests.get(query.format(*args))
+ response.raise_for_status()
+ return trim(response.json())
+
+ return _get
+
+
+def _trim_killmail(km):
+ del km['attackers']
+ del km['victim']['items']
+ del km['victim']['damage_taken']
+ return km
+
+
+killmail = _make_endpoint("killmails/{}/{}/", trim=_trim_killmail)
+type = _make_endpoint("universe/types/{}/", include=['type_id', 'name', 'group_id'])