From 1305a1f2b679d8e50311e4b06dcdc9e4f64f4e12 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Mon, 10 Jul 2017 00:11:54 -0400 Subject: [PATCH] Do not get variations by "group" unless the item is part of a set of hard-coded categories. #1232 --- eos/db/gamedata/queries.py | 3 +-- service/market.py | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/eos/db/gamedata/queries.py b/eos/db/gamedata/queries.py index fa8d98723..39ac8b3d1 100644 --- a/eos/db/gamedata/queries.py +++ b/eos/db/gamedata/queries.py @@ -317,8 +317,7 @@ def getVariations(itemids, groupIDs=None, where=None, eager=None): vars = gamedata_session.query(Item).options(*processEager(eager)).join((groups_table, joinon)).filter( filter).all() - return vars - + return vars @cachedQuery(1, "attr") def getAttributeInfo(attr, eager=None): diff --git a/service/market.py b/service/market.py index 49f0d88d2..65dae9699 100644 --- a/service/market.py +++ b/service/market.py @@ -542,6 +542,10 @@ class Market(object): # Set-container for variables variations = set() variations_limiter = set() + + # if item belongs to these categories, use their group to find "variations" + categories = ['Drone', 'Fighter', 'Implant'] + for item in items: if item.category.ID == 20: # Implants and Boosters implant_remove_list = set() @@ -592,7 +596,7 @@ class Market(object): variations.update(parents) # Add all variations of parents to the set parentids = tuple(item.ID for item in parents) - groupids = tuple(item.group.ID for item in parents) + groupids = tuple(item.group.ID for item in parents if item.category.name in categories) variations_list = eos.db.getVariations(parentids, groupids) if variations_limiter: