From 9dfaa42565692b31a028ec92372fa675da4f3e21 Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 25 May 2022 00:18:56 +0200 Subject: Killmails' details are now expanded --- scrap.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/scrap.py b/scrap.py index c985e8c..84c2b2d 100644 --- a/scrap.py +++ b/scrap.py @@ -88,8 +88,32 @@ def expand_hashes(snapshot): Expands killmails in *snapshot* IN PLACE by adding their hash based on information from Zkillboard. """ for killmail in snapshot["killmails"]: - killmail["hash"] = get_hash(killmail["id"]) time.sleep(1.05) # Zkillboard is very sensitive. + killmail["hash"] = get_hash(killmail["id"]) + return snapshot + + +def get_details(kill, hash): + """ + Retrieves detailed information about killmail from EVE ESI using killmail's *kill* ID and *hash*. + """ + query = "https://esi.evetech.net/latest/killmails/{}/{}/?datasource=tranquility" + response = requests.get(query.format(kill, hash)) + response.raise_for_status() + return response.json() + + +def expand_details(snapshot): + """ + Expands killmails in *snapshot* IN PLACE by adding details from EVE ESI. Some data is dropped in process as e.g., + full information on attackers is not important in context of the visualizations. + """ + for killmail in snapshot['killmails']: + details = get_details(killmail['id'], killmail['hash']) + del details['attackers'] + del details['victim']['items'] + del details['victim']['damage_taken'] + killmail.update(details) return snapshot @@ -113,6 +137,7 @@ def main(): args = parser.parse_args() snapshot = get_related_kills(args.url) expand_hashes(snapshot) + expand_details(snapshot) filename = output_name(args) with open(filename, "w") as fd: opts = {'indent': 4} if args.pretty else {} -- cgit v1.1