MCPcopy Create free account
hub / github.com/pyfa-org/Pyfa / getVariations

Function getVariations

eos/db/gamedata/queries.py:376–397  ·  view source on GitHub ↗
(itemids, groupIDs=None, where=None, eager=None)

Source from the content-addressed store, hash-verified

374
375@cachedQuery(2, "where", "itemids")
376def getVariations(itemids, groupIDs=None, where=None, eager=None):
377 for itemid in itemids:
378 if not isinstance(itemid, int):
379 raise TypeError("All passed item IDs must be integers")
380 # Get out if list of provided IDs is empty
381 if len(itemids) == 0:
382 return []
383
384 itemfilter = or_(*(items_table.c.variationParentTypeID == itemid for itemid in itemids))
385 filter = processWhere(itemfilter, where)
386 vars = get_gamedata_session().query(Item).options(*processEager(eager)).filter(filter).all()
387
388 if vars:
389 return vars
390 elif groupIDs:
391 itemfilter = or_(*(groups_table.c.groupID == groupID for groupID in groupIDs))
392 filter = processWhere(itemfilter, where)
393 joinon = items_table.c.groupID == groups_table.c.groupID
394 vars = get_gamedata_session().query(Item).options(*processEager(eager)).join((groups_table, joinon)).filter(
395 filter).all()
396
397 return vars
398
399
400@cachedQuery(1, "attr")

Callers

nothing calls this directly

Calls 3

processWhereFunction · 0.90
get_gamedata_sessionFunction · 0.90
processEagerFunction · 0.90

Tested by

no test coverage detected