diff options
-rw-r--r-- | db/queries.py | 23 | ||||
-rw-r--r-- | web/api.py | 2 | ||||
-rw-r--r-- | web/static/js/kill.js | 21 | ||||
-rw-r--r-- | web/templates/kill.html | 2 |
4 files changed, 40 insertions, 8 deletions
diff --git a/db/queries.py b/db/queries.py index f795b39..25dbcef 100644 --- a/db/queries.py +++ b/db/queries.py @@ -14,7 +14,7 @@ def corporation(corp_id): with db.cursor() as c: kills = db.query(c, ''' SELECT DISTINCT(kills.kill_id), kill_time FROM kills - JOIN characters on characters.kill_id = kills.kill_id + JOIN characters ON characters.kill_id = kills.kill_id WHERE corporation_id = ? ''', corp_id) kill_ids = list(map(operator.itemgetter('kill_id'), kills)) @@ -42,15 +42,24 @@ def kill(kill_id): with db.cursor() as c: kill = db.get(c, ''' SELECT kill_time, solarSystemName, security FROM kills - JOIN eve.mapSolarSystems on solar_system_id = solarSystemID + JOIN eve.mapSolarSystems ON solar_system_id = solarSystemID WHERE kill_id = ? ''', kill_id) characters = db.query(c, ''' - SELECT ship_type_id, character_id, character_name, - corporation_id, corporation_name, alliance_id, alliance_name, faction_id, faction_name - typeName + SELECT character_id, character_name, damage, victim, final_blow, + corporation_id, corporation_name, alliance_id, alliance_name, faction_id, faction_name, + ship_type_id, weapon_type_id, + ship.typeName AS ship_name, weapon.typeName AS weapon_name FROM characters - JOIN eve.invTypes on ship_type_id = typeID + JOIN eve.invTypes AS ship ON ship_type_id = ship.typeID + LEFT JOIN eve.invTypes AS weapon ON weapon_type_id = weapon.typeID WHERE kill_id = ? ''', kill_id) - return {'kill': kill, 'characters': characters} + items = db.query(c, ''' + SELECT type_id, flag, dropped, destroyed, singleton, + typeName AS item_name + FROM items + JOIN eve.invTypes ON type_id = typeID + WHERE kill_id = ? ORDER BY flag ASC + ''', kill_id) + return {'kill': kill, 'characters': characters, 'items': items} @@ -22,7 +22,7 @@ class APIHandler(tornado.web.RequestHandler): def respond_json(self, data): self.set_header('Content-Type', 'application/json; charset=UTF-8') - for chunk in JSONDateEncoder().iterencode(data): + for chunk in JSONDateEncoder(indent='\t').iterencode(data): self.write(chunk) self.finish() diff --git a/web/static/js/kill.js b/web/static/js/kill.js index 67f819d..57c0a3f 100644 --- a/web/static/js/kill.js +++ b/web/static/js/kill.js @@ -24,6 +24,27 @@ window.addEvent('domready', function() { })); div.appendText(char['alliance_name']); } + div.adopt(new Element('img', { + 'src': '//image.eveonline.com/Type/' + char['ship_type_id'] + '_32.png', + 'alt': char['ship_name'], + })); + if (!char['victim']) { + div.adopt(new Element('img', { + 'src': '//image.eveonline.com/Type/' + char['weapon_type_id'] + '_32.png', + 'alt': char['weapon_name'], + })); + } + div.appendText(char['damage']); + div.adopt(new Element('br')); + }); + + div = $('items'); + data.items.each(function(item) { + div.adopt(new Element('img', { + 'src': '//image.eveonline.com/Type/' + item['type_id'] + '_32.png', + 'alt': item['item_name'], + })); + div.appendText(item['item_name'] + ' (' + item['dropped'] + ',' + item['destroyed'] + ')'); div.adopt(new Element('br')); }); }); diff --git a/web/templates/kill.html b/web/templates/kill.html index 112c2e8..95bd972 100644 --- a/web/templates/kill.html +++ b/web/templates/kill.html @@ -11,4 +11,6 @@ <div id="characters"></div> +<div id="items"></div> + {% end %} |