def user_houses(user_session): """Iterator of all houses the logged in user is participating in. """ user_id = user_session.info['email'] _, resp = db.list("icecrate/user-households", "households-by-participant", key=user_id) yield from (house_id for house_id in chain(resp['member'], resp['guest']))
def list_items(user_session=None): houses = list(user_houses(user_session)) _, resp = db.list("icecrate/list-items", "items-by-household", keys=houses) items = list(db[item_id] for item_id in resp['items']) return { "type": "all_items", "items": items }