def directAttributeRequest(itemIDs, attrIDs): for itemID in itemIDs: if not isinstance(itemID, int): raise TypeError("All attrIDs must be integer") for itemID in itemIDs: if not isinstance(itemID, int): raise TypeError("All itemIDs must be integer") q = select((eos.types.Item.typeID, eos.types.Attribute.attributeID, eos.types.Attribute.value), and_(eos.types.Attribute.attributeID.in_(attrIDs), eos.types.Item.typeID.in_(itemIDs)), from_obj=[join(eos.types.Attribute, eos.types.Item)]) result = gamedata_session.execute(q).fetchall() return result
def directAttributeRequest(itemIDs, attrIDs): for itemID in itemIDs: if not isinstance(itemID, int): raise TypeError("All attrIDs must be integer") for itemID in itemIDs: if not isinstance(itemID, int): raise TypeError("All itemIDs must be integer") q = select((Item.typeID, Attribute.attributeID, Attribute.value), and_(Attribute.attributeID.in_(attrIDs), Item.typeID.in_(itemIDs)), from_obj=[join(Attribute, Item)]) result = gamedata_session.execute(q).fetchall() return result
def getRequiredFor(itemID, attrMapping): Attribute1 = aliased(Attribute) Attribute2 = aliased(Attribute) skillToLevelClauses = [] for attrSkill, attrLevel in attrMapping.iteritems(): skillToLevelClauses.append(and_(Attribute1.attributeID == attrSkill, Attribute2.attributeID == attrLevel)) queryOr = or_(*skillToLevelClauses) q = select((Attribute2.typeID, Attribute2.value), and_(Attribute1.value == itemID, queryOr), from_obj=[ join(Attribute1, Attribute2, Attribute1.typeID == Attribute2.typeID) ]) result = gamedata_session.execute(q).fetchall() return result
def getRequiredFor(itemID, attrMapping): Attribute1 = aliased(Attribute) Attribute2 = aliased(Attribute) skillToLevelClauses = [] for attrSkill, attrLevel in attrMapping.items(): skillToLevelClauses.append(and_(Attribute1.attributeID == attrSkill, Attribute2.attributeID == attrLevel)) queryOr = or_(*skillToLevelClauses) q = select((Attribute2.typeID, Attribute2.value), and_(Attribute1.value == itemID, queryOr), from_obj=[ join(Attribute1, Attribute2, Attribute1.typeID == Attribute2.typeID) ]) result = gamedata_session.execute(q).fetchall() return result