Esempio n. 1
0
 def __fetchCharge(self, chargeName):
     if chargeName:
         charge = fetchItem(chargeName, eagerCat=True)
         if not charge or charge.category.name != 'Charge':
             charge = None
     else:
         charge = None
     return charge
Esempio n. 2
0
File: eft.py Progetto: zzwpower/Pyfa
 def __fetchCharge(self, chargeName):
     if chargeName:
         charge = fetchItem(chargeName, eagerCat=True)
         if not charge or charge.category.name != 'Charge':
             charge = None
     else:
         charge = None
     return charge
Esempio n. 3
0
def fetchDynamicItem(dynamicItemData):
    typeID, itemID = dynamicItemData
    esiData = EsiAccess().getDynamicItem(typeID, itemID).json()
    baseItemID = esiData['source_type_id']
    mutaplasmidID = esiData['mutator_type_id']
    attrs = {
        i['attribute_id']: i['value']
        for i in esiData['dogma_attributes']
    }
    baseItem = fetchItem(baseItemID)
    mutaplasmid = getDynamicItem(mutaplasmidID)
    return baseItem, mutaplasmid, attrs
Esempio n. 4
0
def parseMutant(lines):
    # Fetch base item type
    try:
        baseItemName = lines[0]
    except IndexError:
        return None
    baseItem = fetchItem(baseItemName.strip())
    if baseItem is None:
        return None, None, {}
    # Fetch mutaplasmid item type and actual item
    try:
        mutaplasmidName = lines[1]
    except IndexError:
        return baseItem, None, {}
    mutaplasmidItem = fetchItem(mutaplasmidName.strip())
    if mutaplasmidItem is None:
        return baseItem, None, {}
    mutaplasmidItem = getDynamicItem(mutaplasmidItem.ID)
    # Process mutated attribute values
    try:
        mutationsLine = lines[2]
    except IndexError:
        return baseItem, mutaplasmidItem, {}
    mutations = {}
    pairs = [p.strip() for p in mutationsLine.split(',')]
    for pair in pairs:
        try:
            attrName, value = pair.split(' ')
        except ValueError:
            continue
        try:
            value = float(value)
        except (ValueError, TypeError):
            continue
        attrInfo = getAttributeInfo(attrName.strip())
        if attrInfo is None:
            continue
        mutations[attrInfo.ID] = value
    return baseItem, mutaplasmidItem, mutations
Esempio n. 5
0
def parseMutant(lines):
    # Fetch base item type
    try:
        baseItemName = lines[0]
    except IndexError:
        return None
    baseItem = fetchItem(baseItemName.strip())
    if baseItem is None:
        return None, None, {}
    # Fetch mutaplasmid item type and actual item
    try:
        mutaplasmidName = lines[1]
    except IndexError:
        return baseItem, None, {}
    mutaplasmidItem = fetchItem(mutaplasmidName.strip())
    if mutaplasmidItem is None:
        return baseItem, None, {}
    mutaplasmidItem = getDynamicItem(mutaplasmidItem.ID)
    # Process mutated attribute values
    try:
        mutationsLine = lines[2]
    except IndexError:
        return baseItem, mutaplasmidItem, {}
    mutations = {}
    pairs = [p.strip() for p in mutationsLine.split(',')]
    for pair in pairs:
        try:
            attrName, value = pair.split(' ')
        except ValueError:
            continue
        try:
            value = float(value)
        except (ValueError, TypeError):
            continue
        attrInfo = getAttributeInfo(attrName.strip())
        if attrInfo is None:
            continue
        mutations[attrInfo.ID] = value
    return baseItem, mutaplasmidItem, mutations
Esempio n. 6
0
def _importCreateFit(lines):
    """Create fit and set top-level entity (ship or citadel)."""
    fit = Fit()
    header = lines.pop(0)
    m = re.match('\[(?P<shipType>[\w\s]+),\s*(?P<fitName>.+)\]', header)
    if not m:
        pyfalog.warning('service.port.eft.importEft: corrupted fit header')
        raise EftImportError
    shipType = m.group('shipType').strip()
    fitName = m.group('fitName').strip()
    try:
        ship = fetchItem(shipType)
        try:
            fit.ship = Ship(ship)
        except ValueError:
            fit.ship = Citadel(ship)
        fit.name = fitName
    except:
        pyfalog.warning('service.port.eft.importEft: exception caught when parsing header')
        raise EftImportError
    return fit
Esempio n. 7
0
File: eft.py Progetto: tarr43/m-t-p
def _importCreateFit(lines):
    """Create fit and set top-level entity (ship or citadel)."""
    fit = Fit()
    header = lines.pop(0)
    m = re.match('\[(?P<shipType>[\w\s]+),\s*(?P<fitName>.+)\]', header)
    if not m:
        pyfalog.warning('service.port.eft.importEft: corrupted fit header')
        raise EftImportError
    shipType = m.group('shipType').strip()
    fitName = m.group('fitName').strip()
    try:
        ship = fetchItem(shipType)
        try:
            fit.ship = Ship(ship)
        except ValueError:
            fit.ship = Citadel(ship)
        fit.name = fitName
    except:
        pyfalog.warning('service.port.eft.importEft: exception caught when parsing header')
        raise EftImportError
    return fit
Esempio n. 8
0
File: eft.py Progetto: zzwpower/Pyfa
 def __init__(self, typeName):
     item = fetchItem(typeName, eagerCat=True)
     if item is None:
         raise EftImportError
     self.typeName = typeName
     self.item = item
Esempio n. 9
0
 def __init__(self, typeName):
     item = fetchItem(typeName, eagerCat=True)
     if item is None:
         raise EftImportError
     self.typeName = typeName
     self.item = item