def meatyPoint(point, ingredients, recipeName): if MEATY_IMPLEMENTATION in [1, 2, 3]: meatyCount = 0 for alias in ingredients: if util.meatStringQ(alias): meatyCount += 1 # Implementation 1: % of ingredients that are meaty if MEATY_IMPLEMENTATION == 1: point['meaty'] = float(meatyCount)/len(ingredients) * FLAVOR_ADJUSTMENT # Implementation 2: num of ingredients that are meaty if MEATY_IMPLEMENTATION == 2: point['meaty'] = float(meatyCount)*MEATY_ADJUSTMENT # Implementation 3: num of ingredients + recipe name that are meaty if MEATY_IMPLEMENTATION == 3: for word in recipeName.split(): if util.meatStringQ(word.lower()): meatyCount += 1 point['meaty'] = float(meatyCount)*MEATY_ADJUSTMENT
def addFactors_freeOfMeat(csp, traits): for var in csp.variables: csp.add_unary_factor(var, lambda a: not util.meatStringQ(a))