Algorithmic recipes
Algorithmic Chicken Soup
The Human/Machine Recipe Collaboration
import re
import operator
verbMap = {}
adjMap = {}
otherMap = {}
o = store.find(Recipe, Recipe.name.like(u'%onions%'))
for r in o:
for i in r.ingredients:
#print i.name
l = i.name.split()
for j in l:
s = re.sub('[^A-Za-z]+', , j)
if s.endswith('ly'):
if s in adjMap:
adjMap[s] += 1
else:
adjMap[s] = 1
elif s.endswith('ed') or s.endswith('ing'):
if s in verbMap:
verbMap[s] += 1
else:
verbMap[s] = 1
else:
if s in ingMap:
ingMap[s] += 1
else:
ingMap[s] = 1
#for key, value in ingMap.iteritems():
# print key, value
sortedAdj = sorted(adjMap.keys(), key=lambda key: adjMap[key], reverse=True)
for ing in sortedAdj:
print ing
print "------"
sortedVerbs = sorted(verbMap.keys(), key=lambda key: verbMap[key], reverse=True)
for ing in sortedVerbs:
print ing
print "------"
sortedIng = sorted(ingMap.keys(), key=lambda key: ingMap[key], reverse=True)
for ing in sortedIng:
print ing
The Output
- freshly chopped onions
- finely sliced olives
- thinly peeled potatos
- roughly halved chicken
- thickly grated garlic
The End...Eat! See our scrapes here: pantry.algorithmickitchen.org:8000/