colonyTemplate.py (2405B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\planet\colonyTemplate.py 2 import json 3 from collections import defaultdict 4 from eve.client.script.ui.shared.planet import planetConst 5 from eve.client.script.ui.shared.planet.planetConst import TYPEIDS_PROCESSORS_HIGHTECH, TYPEIDS_COMMAND_CENTER 6 from eveplanet.client.templates.templateConst import TemplateDictKeys, TemplatePinDataDictKeys, EXTRACT_PRODUCTS, PRODUCTION_PRODUCTS 7 from eveplanet.client.templates.verification import VerifyTemplate 8 9 class ColonyTemplate(object): 10 11 def __init__(self, rawTemplate, filename): 12 self.extractTypes = set() 13 self.extractSourceCount = defaultdict(int) 14 self.productTypes = set() 15 self.productSourceCount = defaultdict(int) 16 self.originalPlanetType = planetConst.PLANET_TYPES[0] 17 self.commandCenterLV = 0 18 self.radiusOfPlanet = 0 19 self.description = u'' 20 self.favourited = False 21 self.rawTemplate = u'' 22 self.loadedTemplate = {} 23 self.restricted = False 24 self.haveCmdCtr = False 25 self.filename = u'' 26 loadedTemplate = json.loads(rawTemplate) 27 VerifyTemplate(loadedTemplate) 28 self.rawTemplate = rawTemplate 29 self.loadedTemplate = loadedTemplate 30 self.originalPlanetType = self.loadedTemplate[TemplateDictKeys.PlanetType] 31 self.commandCenterLV = self.loadedTemplate[TemplateDictKeys.CmdCenterLV] 32 self.radiusOfPlanet = self.loadedTemplate[TemplateDictKeys.Diameter] / 2 33 for pin in self.loadedTemplate[TemplateDictKeys.PinData]: 34 productTypeID = pin[TemplatePinDataDictKeys.Product] 35 if productTypeID in EXTRACT_PRODUCTS: 36 self.extractTypes.add(productTypeID) 37 self.extractSourceCount[productTypeID] += 1 38 if productTypeID in PRODUCTION_PRODUCTS: 39 self.productTypes.add(productTypeID) 40 self.productSourceCount[productTypeID] += 1 41 if pin[TemplatePinDataDictKeys.PinTypeID] in TYPEIDS_PROCESSORS_HIGHTECH: 42 self.restricted = True 43 if pin[TemplatePinDataDictKeys.PinTypeID] in TYPEIDS_COMMAND_CENTER: 44 self.haveCmdCtr = True 45 46 self.description = self.loadedTemplate[TemplateDictKeys.Comments] 47 self.favourited = False 48 self.filename = filename