Ejemplo n.º 1
0
def get_today(session: Session = Depends(generate_session), current_user: UserInDB = Depends(get_current_user)):
    """
    Returns the recipe slug for the meal scheduled for today.
    If no meal is scheduled nothing is returned
    """

    group_in_db: GroupInDB = db.groups.get(session, current_user.group, "name")
    recipe = get_todays_meal(session, group_in_db)

    return recipe.slug
Ejemplo n.º 2
0
def post_webhooks(group: int, session: Session = None):
    session = session or create_session()
    group_settings: GroupInDB = db.groups.get(session, group)

    if not group_settings.webhook_enable:
        return

    todays_recipe = get_todays_meal(session, group)

    if not todays_recipe:
        return

    for url in group_settings.webhook_urls:
        requests.post(url, json=todays_recipe.json())

    session.close()
Ejemplo n.º 3
0
def get_todays_image(session: Session = Depends(generate_session), group_name: str = "Home"):
    """
    Returns the image for todays meal-plan.
    """

    group_in_db: GroupInDB = db.groups.get(session, group_name, "name")
    recipe = get_todays_meal(session, group_in_db)

    if recipe:
        recipe_image = image.read_image(recipe.slug, image_type=image.IMG_OPTIONS.ORIGINAL_IMAGE)
    else:
        raise HTTPException(404, "no meal for today")
    if recipe_image:
        return FileResponse(recipe_image)
    else:
        raise HTTPException(404, "file not found")
Ejemplo n.º 4
0
def get_todays_image(session: Session = Depends(generate_session),
                     group_name: str = "Home"):
    """
    Returns the image for todays meal-plan.
    """

    group_in_db: GroupInDB = db.groups.get(session, group_name, "name")
    recipe = get_todays_meal(session, group_in_db)

    if recipe:
        recipe_image = recipe.image_dir.joinpath(
            image.ImageOptions.ORIGINAL_IMAGE)
    else:
        raise HTTPException(status.HTTP_404_NOT_FOUND)
    if recipe_image:
        return FileResponse(recipe_image)
    else:
        raise HTTPException(status.HTTP_404_NOT_FOUND)
Ejemplo n.º 5
0
def post_webhooks(group: int, session: Session = None, force=True):
    session = session or create_session()
    group_settings: GroupInDB = db.groups.get(session, group)

    if not group_settings.webhook_enable and not force:
        return

    todays_recipe = get_todays_meal(session, group)

    if not todays_recipe:
        return

    for url in group_settings.webhook_urls:
        requests.post(url, json=json.loads(todays_recipe.json(by_alias=True)))

        create_scheduled_event(
            "Meal Plan Webhook",
            f"Meal plan webhook executed for group '{group}'")

    session.close()