Algorithmic recipes: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
=Algorithmic Chicken Soup= | ==Algorithmic Chicken Soup== | ||
'''The Human/Machine Recipe Collaboration''' | '''The Human/Machine Recipe Collaboration''' | ||
[[ | [[File:Chicken-and-Potato-Soup.png|400px]] | ||
import re | import re | ||
import operator | import operator | ||
verbMap = {} | verbMap = {} | ||
adjMap = {} | adjMap = {} | ||
otherMap = {} | otherMap = {} | ||
o = store.find(Recipe, Recipe.name.like(u'%onions%')) | o = store.find(Recipe, Recipe.name.like(u'%onions%')) | ||
for r in o: | for r in o: |
Revision as of 14:39, 22 November 2015
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/