def METHOD_NAME(self, source_dir: Path, recipe_data: dict) -> dict:
    steps_data = recipe_data.pop("steps", [])
    recipe_data["recipeInstructions"], recipe_data["recipeIngredient"] = extract_instructions_and_ingredients(
        steps_data
    )
    recipe_data["performTime"], recipe_data["totalTime"] = parse_times(
        recipe_data.pop("working_time", 0), recipe_data.pop("waiting_time", 0)
    )
    serving_size = recipe_data.pop("servings", 0)
    serving_text = recipe_data.pop("servings_text", "")
    if serving_size and serving_text:
        recipe_data["recipeYield"] = f"{serving_size} {serving_text}"
    try:
        recipe_image_path = next(source_dir.glob("image.*"))
        recipe_data["image"] = str(recipe_image_path)
    except StopIteration:
        pass
    return recipe_data