def get_menu(date=None): result = {} # fetch documents http_client = httpclient.AsyncHTTPClient() for key in umdh.dining_halls.iterkeys(): http_client.fetch(umdh.get_menu_url(key, date), callback=(yield gen.Callback(key))) keys = set(umdh.dining_halls.keys()) # parse for chicken broccoli bake while keys: key, r = yield yieldpoints.WaitAny(keys) meals = umdh.search_menu_for( escape.json_decode(r.body), 'Chicken Broccoli Bake') if meals: result[key] = meals keys.remove(key) raise gen.Return(result)
def test_search_menu(self): """ So. This is a dumb test. """ self.assertTrue(umdh.search_menu_for(self.menu, "Chocolate Chip Cookies")) # assumes there's always cookies...