Added the option to view shiptypes of killmails

This commit is contained in:
orbitroom 2016-03-23 00:16:43 -04:00
parent a419145f7c
commit 376bf60421
3 changed files with 62 additions and 47 deletions

View File

@ -1,46 +1,56 @@
from django.conf import settings from django.conf import settings
import json import json
import urllib2 import urllib2
import logging import logging
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class srpManager(): class srpManager():
@staticmethod @staticmethod
def get_kill_id (killboard_link): def get_kill_id (killboard_link):
str = (killboard_link) str = (killboard_link)
set = '0123456789' set = '0123456789'
kill_id = ''.join([c for c in str if c in set]) kill_id = ''.join([c for c in str if c in set])
@staticmethod @staticmethod
def get_kill_data (kill_id): def get_kill_data (kill_id):
url = ("https://www.zkillboard.com/api/killID/%s" % kill_id) url = ("https://www.zkillboard.com/api/killID/%s" % kill_id)
request = urllib2.Request(url) request = urllib2.Request(url)
request.add_header('User-Agent',"%s Alliance Auth" % settings.DOMAIN) request.add_header('User-Agent',"%s Alliance Auth" % settings.DOMAIN)
request.add_header('Content-Type','application/json') request.add_header('Content-Type','application/json')
response = urllib2.urlopen(request) response = urllib2.urlopen(request)
result = json.load(response)[0] result = json.load(response)[0]
if result: if result:
ship_type = result['victim']['shipTypeID'] ship_type = result['victim']['shipTypeID']
logger.debug("Ship type for kill ID %s is determined to be %s" % (kill_id, ship_type)) logger.debug("Ship type for kill ID %s is determined to be %s" % (kill_id, ship_type))
ship_value = result['zkb']['totalValue'] ship_value = result['zkb']['totalValue']
logger.debug("total loss value for kill id %s is %s" %(kill_id, ship_value)) logger.debug("total loss value for kill id %s is %s" %(kill_id, ship_value))
else: else:
raise ValueError("Invalid Kill ID") raise ValueError("Invalid Kill ID")
@staticmethod @staticmethod
def get_ship_name (ship_type): def get_ship_name (ship_type):
url = ("https://jetbalsa.com/api/json.php/invTypes/%s" % ship_type) url = ("https://jetbalsa.com/api/json.php/invTypes/%s" % ship_type)
request = urllib2.Request(url) request = urllib2.Request(url)
request.add_header('User-Agent',"%s Alliance Auth" % settings.DOMAIN) request.add_header('User-Agent',"%s Alliance Auth" % settings.DOMAIN)
request.add_header('Content-Type','application/json') request.add_header('Content-Type','application/json')
response = urllib2.urlopen(request) response = urllib2.urlopen(request)
result = json.load(response) result = json.load(response)
if result: if result:
ship_name = result['typeName'] ship_name = result['typeName']
logger.debug("ship type %s determined to be %s" % (ship_type, ship_name)) logger.debug("ship type %s determined to be %s" % (ship_type, ship_name))
else: else:
logger.info("ship type %s is invalid please try again" % ship_type) logger.info("ship type %s is invalid please try again" % ship_type)

View File

@ -24,7 +24,9 @@ class SrpUserRequest(models.Model):
srp_total_amount = models.BigIntegerField(default=0) srp_total_amount = models.BigIntegerField(default=0)
character = models.ForeignKey(EveCharacter) character = models.ForeignKey(EveCharacter)
srp_fleet_main = models.ForeignKey(SrpFleetMain) srp_fleet_main = models.ForeignKey(SrpFleetMain)
srp_ship_name = models.CharField(max_length=254, default="")
srp_ship_name = models.CharField(max_length=254, default="")
def __str__(self): def __str__(self):
return self.character.character_name + " - SrpUserRequest" return self.character.character_name + " - SrpUserRequest"

View File

@ -186,6 +186,7 @@ def srp_request_view(request, fleet_srp):
character = EveManager.get_character_by_id(authinfo.main_char_id) character = EveManager.get_character_by_id(authinfo.main_char_id)
srp_fleet_main = SrpFleetMain.objects.get(fleet_srp_code=fleet_srp) srp_fleet_main = SrpFleetMain.objects.get(fleet_srp_code=fleet_srp)
srp_request = SrpUserRequest() srp_request = SrpUserRequest()
srp_request.killboard_link = form.cleaned_data['killboard_link'] srp_request.killboard_link = form.cleaned_data['killboard_link']
srp_request.additional_info = form.cleaned_data['additional_info'] srp_request.additional_info = form.cleaned_data['additional_info']
@ -200,6 +201,8 @@ def srp_request_view(request, fleet_srp):
completed = True completed = True
logger.info("Created SRP Request on behalf of user %s for fleet name %s" % (request.user, srp_fleet_main.fleet_name)) logger.info("Created SRP Request on behalf of user %s for fleet name %s" % (request.user, srp_fleet_main.fleet_name))
srp_request.append()
else: else:
logger.debug("Returning blank SrpFleetUserRequestForm") logger.debug("Returning blank SrpFleetUserRequestForm")
form = SrpFleetUserRequestForm() form = SrpFleetUserRequestForm()