| @@ -98,18 +98,22 @@ class CampaignDB: | |||||
| except ValueError: | except ValueError: | ||||
| raise RuntimeError("Invalid kill_date=%s for kill_id=%d" % ( | raise RuntimeError("Invalid kill_date=%s for kill_id=%d" % ( | ||||
| kill["killTime"], kill["killID"])) | kill["killTime"], kill["killID"])) | ||||
| # ... Ensure IDs are all ints | |||||
| query = """INSERT OR REPLACE INTO kill ( | query = """INSERT OR REPLACE INTO kill ( | ||||
| kill_id, kill_date, kill_system, kill_victim_shipid, | kill_id, kill_date, kill_system, kill_victim_shipid, | ||||
| kill_victim_charid, kill_victim_corpid, kill_victim_allianceid, | |||||
| kill_victim_factionid, kill_value) | |||||
| VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)""" | |||||
| kill_victim_charid, kill_victim_charname, kill_victim_corpid, | |||||
| kill_victim_corpname, kill_victim_allianceid, | |||||
| kill_victim_alliancename, kill_victim_factionid, | |||||
| kill_victim_factionname, kill_value) | |||||
| VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""" | |||||
| victim = kill["victim"] | |||||
| args = ( | args = ( | ||||
| kill["killID"], kill["killTime"], kill["solarSystemID"], | |||||
| kill["victim"]["shipTypeID"], kill["victim"]["characterID"], | |||||
| kill["victim"]["corporationID"], kill["victim"]["allianceID"], | |||||
| kill["victim"]["factionID"], kill["zkb"]["totalValue"]) | |||||
| int(kill["killID"]), kill["killTime"], int(kill["solarSystemID"]), | |||||
| int(victim["shipTypeID"]), int(victim["characterID"]), | |||||
| victim["characterName"], int(victim["corporationID"]), | |||||
| victim["corporationName"], int(victim["allianceID"]), | |||||
| victim["allianceName"], int(victim["factionID"]), | |||||
| victim["factionName"], float(kill["zkb"]["totalValue"])) | |||||
| with self._conn as conn: | with self._conn as conn: | ||||
| conn.execute(query, args) | conn.execute(query, args) | ||||
| @@ -149,8 +153,10 @@ class CampaignDB: | |||||
| raise ValueError(offset) | raise ValueError(offset) | ||||
| query = """SELECT kill_id, kill_date, kill_system, kill_victim_shipid, | query = """SELECT kill_id, kill_date, kill_system, kill_victim_shipid, | ||||
| kill_victim_charid, kill_victim_corpid, kill_victim_allianceid, | |||||
| kill_victim_factionid, kill_value | |||||
| kill_victim_charid, kill_victim_charname, kill_victim_corpid, | |||||
| kill_victim_corpname, kill_victim_allianceid, | |||||
| kill_victim_alliancename, kill_victim_factionid, | |||||
| kill_victim_factionname, kill_value | |||||
| FROM oper_kill | FROM oper_kill | ||||
| JOIN kill ON ok_killid = kill_id | JOIN kill ON ok_killid = kill_id | ||||
| WHERE ok_campaign = ? AND ok_operation = ? | WHERE ok_campaign = ? AND ok_operation = ? | ||||
| @@ -163,7 +169,15 @@ class CampaignDB: | |||||
| "date": datetime.strptime(row[1], "%Y-%m-%d %H:%M:%S"), | "date": datetime.strptime(row[1], "%Y-%m-%d %H:%M:%S"), | ||||
| "system": row[2], | "system": row[2], | ||||
| "victim": { | "victim": { | ||||
| "ship_id": row[3], "char_id": row[4], "corp_id": row[5], | |||||
| "alliance_id": row[6], "faction_id": row[7]}, | |||||
| "value": row[8] | |||||
| "ship_id": row[3], | |||||
| "char_id": row[4], | |||||
| "char_name": row[5], | |||||
| "corp_id": row[6], | |||||
| "corp_name": row[7], | |||||
| "alliance_id": row[8], | |||||
| "alliance_name": row[9], | |||||
| "faction_id": row[10], | |||||
| "faction_name": row[11] | |||||
| }, | |||||
| "value": row[12] | |||||
| } for row in res] | } for row in res] | ||||
| @@ -28,9 +28,13 @@ CREATE TABLE kill ( | |||||
| kill_system INTEGER, | kill_system INTEGER, | ||||
| kill_victim_shipid INTEGER, | kill_victim_shipid INTEGER, | ||||
| kill_victim_charid INTEGER, | kill_victim_charid INTEGER, | ||||
| kill_victim_charname TEXT, | |||||
| kill_victim_corpid INTEGER, | kill_victim_corpid INTEGER, | ||||
| kill_victim_corpname TEXT, | |||||
| kill_victim_allianceid INTEGER, | kill_victim_allianceid INTEGER, | ||||
| kill_victim_alliancename TEXT, | |||||
| kill_victim_factionid INTEGER, | kill_victim_factionid INTEGER, | ||||
| kill_victim_factionname TEXT, | |||||
| kill_value REAL | kill_value REAL | ||||
| ); | ); | ||||
| @@ -0,0 +1,2 @@ | |||||
| #!/usr/bin/env bash | |||||
| cloc --vcs=git $@ . | |||||
| @@ -5,34 +5,42 @@ | |||||
| <% victim = kill["victim"] %> | <% victim = kill["victim"] %> | ||||
| <tr> | <tr> | ||||
| <td class="fluid"> | <td class="fluid"> | ||||
| <span> | |||||
| <a href="https://zkillboard.com/kill/${kill['id']}/"> | |||||
| <abbr title="${kill["date"].strftime("%Y-%m-%d %H:%M")}">${format_utctime_compact(kill["date"]) | h}</abbr><br/> | <abbr title="${kill["date"].strftime("%Y-%m-%d %H:%M")}">${format_utctime_compact(kill["date"]) | h}</abbr><br/> | ||||
| <abbr title="${"{:,.2f}".format(kill["value"])} ISK">${format_isk_compact(kill["value"]) | h}</abbr> | <abbr title="${"{:,.2f}".format(kill["value"])} ISK">${format_isk_compact(kill["value"]) | h}</abbr> | ||||
| </span> | |||||
| </a> | |||||
| </td> | </td> | ||||
| <td class="fluid extra"> | <td class="fluid extra"> | ||||
| <span> | |||||
| ${kill["system"]} 0.3<br/><!-- ... --> | |||||
| Region<!-- ... --> | |||||
| </span> | |||||
| ${kill["system"]} 0.3<br/><!-- ... --> | |||||
| Region<!-- ... --> | |||||
| </td> | </td> | ||||
| <td class="icon"> | <td class="icon"> | ||||
| <a href="https://zkillboard.com/kill/${kill['id']}/"><img title="" alt="<!-- ... -->" src="${g.eve.image.inventory(victim["ship_id"], 64)}"/></a> | |||||
| <a href="https://zkillboard.com/kill/${kill['id']}/"> | |||||
| <img title="Kill ${kill['id']}" alt="Kill ${kill['id']}" src="${g.eve.image.inventory(victim["ship_id"], 64)}"/> | |||||
| </a> | |||||
| </td> | </td> | ||||
| <td class="icon extra"> | <td class="icon extra"> | ||||
| <a href="https://zkillboard.com/character/${victim['char_id']}/"><img title="" alt="<!-- ... -->" src="${g.eve.image.character(victim["char_id"], 128)}"/></a> | |||||
| <a href="https://zkillboard.com/character/${victim['char_id']}/"> | |||||
| <img title="${victim['char_name']}" alt="${victim['char_name']}" src="${g.eve.image.character(victim["char_id"], 128)}"/> | |||||
| </a> | |||||
| </td> | </td> | ||||
| <td class="icon${' extra' if victim["alliance_id"] and victim["faction_id"] else ''}"> | <td class="icon${' extra' if victim["alliance_id"] and victim["faction_id"] else ''}"> | ||||
| <a href="https://zkillboard.com/corporation/${victim['corp_id']}/"><img title="" alt="<!-- ... -->" src="${g.eve.image.corp(victim["corp_id"], 128)}"/></a> | |||||
| <a href="https://zkillboard.com/corporation/${victim['corp_id']}/"> | |||||
| <img title="${victim['corp_name']}" alt="${victim['corp_name']}" src="${g.eve.image.corp(victim["corp_id"], 128)}"/> | |||||
| </a> | |||||
| </td> | </td> | ||||
| <td class="icon${'' if victim["alliance_id"] else ' extra'}"> | <td class="icon${'' if victim["alliance_id"] else ' extra'}"> | ||||
| % if victim["alliance_id"]: | % if victim["alliance_id"]: | ||||
| <a href="https://zkillboard.com/alliance/${victim['alliance_id']}/"><img title="" alt="<!-- ... -->" src="${g.eve.image.alliance(victim["alliance_id"], 128)}"/></a> | |||||
| <a href="https://zkillboard.com/alliance/${victim['alliance_id']}/"> | |||||
| <img title="${victim['alliance_name']}" alt="${victim['alliance_name']}" src="${g.eve.image.alliance(victim["alliance_id"], 128)}"/> | |||||
| </a> | |||||
| % endif | % endif | ||||
| </td> | </td> | ||||
| <td class="icon${'' if victim["faction_id"] else ' extra'}"> | <td class="icon${'' if victim["faction_id"] else ' extra'}"> | ||||
| % if victim["faction_id"]: | % if victim["faction_id"]: | ||||
| <a href="https://zkillboard.com/faction/${victim['faction_id']}/"><img title="" alt="<!-- ... -->" src="${g.eve.image.faction(victim["faction_id"], 128)}"/></a> | |||||
| <a href="https://zkillboard.com/faction/${victim['faction_id']}/"> | |||||
| <img title="${victim['faction_name']}" alt="${victim['faction_name']}" src="${g.eve.image.faction(victim["faction_id"], 128)}"/> | |||||
| </a> | |||||
| % endif | % endif | ||||
| </td> | </td> | ||||
| % if not victim["alliance_id"] and not victim["faction_id"]: | % if not victim["alliance_id"] and not victim["faction_id"]: | ||||