コード例 #1
0
ファイル: app.py プロジェクト: robee/Connoisseur
def DocFromModels(rest_id, menu_id):
    # try:
    rest = Restaurant.get_by_id(rest_id)
    menu = Menu.get_by_id(menu_id)
    ui_profile = UIProfile.get_by_menu(menu)
    menuitems = MenuItem.get_by_menu(menu)

    grab_vars = lambda item: deepcopy(vars(item)["_entity"])

    obj = {}
    obj["menu_id"] = menu.menu_id
    obj["restaurant_id"] = rest.restaurant_id
    obj["restaurant_name"] = rest.name
    obj["menu_name"] = menu.name
    obj["ui_profile"] = grab_vars(ui_profile)
    obj["ui_profile"]["menu"] = "null"
    obj["menuitems"] = {}

    for menuitem in menuitems:
        category = menuitem.category
        menu_item_dict = grab_vars(menuitem)
        menu_item_dict["menu"] = "null"
        if obj["menuitems"].has_key(category):
            obj["menuitems"][category].append(menu_item_dict)
        else:
            obj["menuitems"][category] = [menu_item_dict]

    return json.dumps(obj)