Add loaded charges export to CREST (#569)

This commit is contained in:
blitzmann
2016-04-29 23:42:35 -04:00
parent fe9139ae93
commit 8bf75e38ad

View File

@@ -58,6 +58,8 @@ class Port(object):
nested_dict = lambda: collections.defaultdict(nested_dict)
fit = nested_dict()
sCrest = service.Crest.getInstance()
sFit = service.Fit.getInstance()
eve = sCrest.eve
# max length is 50 characters
@@ -71,6 +73,7 @@ class Port(object):
fit['items'] = []
slotNum = {}
charges = {}
for module in ofit.modules:
if module.isEmpty:
continue
@@ -95,6 +98,12 @@ class Port(object):
item['type']['name'] = ''
fit['items'].append(item)
if module.charge and sFit.serviceFittingOptions["exportCharges"]:
if not module.chargeID in charges:
charges[module.chargeID] = 0
# `or 1` because some charges (ie scripts) are without qty
charges[module.chargeID] += module.numCharges or 1
for cargo in ofit.cargo:
item = nested_dict()
item['flag'] = INV_FLAG_CARGOBAY
@@ -104,6 +113,15 @@ class Port(object):
item['type']['name'] = ''
fit['items'].append(item)
for chargeID, amount in charges.items():
item = nested_dict()
item['flag'] = INV_FLAG_CARGOBAY
item['quantity'] = amount
item['type']['href'] = "%stypes/%d/"%(eve._authed_endpoint, chargeID)
item['type']['id'] = chargeID
item['type']['name'] = ''
fit['items'].append(item)
for drone in ofit.drones:
item = nested_dict()
item['flag'] = INV_FLAG_DRONEBAY