diff options
author | Aki <please@ignore.pl> | 2022-05-25 18:48:11 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-05-25 18:48:11 +0200 |
commit | 286d663f05c03b56b6510080db806794b4891150 (patch) | |
tree | d5f3e20b7582c3e0cbac5f5abe4ec3aa5048b05b /salvager | |
parent | 287450f0e9a237c55d64e493984a419908139b3d (diff) | |
download | salvager-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.py | 34 |
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']) |