summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--db/queries.py23
-rw-r--r--web/api.py2
-rw-r--r--web/static/js/kill.js21
-rw-r--r--web/templates/kill.html2
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}
diff --git a/web/api.py b/web/api.py
index 4993393..87d262e 100644
--- a/web/api.py
+++ b/web/api.py
@@ -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 %}