MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / getSimilarFighters

Function getSimilarFighters

gui/fitCommands/helpers.py:429–454  ·  view source on GitHub ↗
(fighters, mainFighter)

Source from the content-addressed store, hash-verified

427
428
429def getSimilarFighters(fighters, mainFighter):
430 sMkt = Market.getInstance()
431 mainGroupID = getattr(sMkt.getGroupByItem(mainFighter.item), 'ID', None)
432 mainAbilityIDs = set(a.effectID for a in mainFighter.abilities)
433 similarFighters = []
434 for fighter in fighters:
435 # Always include selected fighter itself
436 if fighter is mainFighter:
437 similarFighters.append(fighter)
438 continue
439 if fighter.itemID is None:
440 continue
441 # Fighters which have the same item ID
442 if fighter.itemID == mainFighter.itemID:
443 similarFighters.append(fighter)
444 continue
445 # And fighters from the same group and with the same abilities too
446 fighterGroupID = getattr(sMkt.getGroupByItem(fighter.item), 'ID', None)
447 fighterAbilityIDs = set(a.effectID for a in fighter.abilities)
448 if (
449 fighterGroupID is not None and fighterGroupID == mainGroupID and
450 len(fighterAbilityIDs) > 0 and fighterAbilityIDs == mainAbilityIDs
451 ):
452 similarFighters.append(fighter)
453 continue
454 return similarFighters

Callers 10

__handleFighterMethod · 0.90
__handleProjectedItemMethod · 0.90
__handleFighterMethod · 0.90
activateMethod · 0.90
handleModeMethod · 0.90
onLeftDoubleClickMethod · 0.90
clickMethod · 0.90
clickMethod · 0.90
onLeftDoubleClickMethod · 0.90

Calls 3

getGroupByItemMethod · 0.80
getInstanceMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected