|
|
import requests |
|
|
|
|
|
def get_nutritional_info(food_items): |
|
|
""" |
|
|
Fetch nutritional details dynamically using the Nutritionix API. |
|
|
""" |
|
|
api_url = "https://trackapi.nutritionix.com/v2/natural/nutrients" |
|
|
app_id = "8af8f051" |
|
|
app_key = "706a5b83a4b567eb535dbc01100bb0f4" |
|
|
|
|
|
headers = { |
|
|
"x-app-id": app_id, |
|
|
"x-app-key": app_key, |
|
|
"Content-Type": "application/json" |
|
|
} |
|
|
|
|
|
nutrition_data = {} |
|
|
for food in food_items: |
|
|
payload = {"query": food} |
|
|
response = requests.post(api_url, json=payload, headers=headers) |
|
|
if response.status_code == 200: |
|
|
result = response.json() |
|
|
if "foods" in result and len(result["foods"]) > 0: |
|
|
food_details = result["foods"][0] |
|
|
nutrition_data[food] = { |
|
|
"Energy (kcal)": food_details.get("nf_calories", 0), |
|
|
"Protein (g)": food_details.get("nf_protein", 0), |
|
|
"Carbs (g)": food_details.get("nf_total_carbohydrate", 0), |
|
|
"Fiber (g)": food_details.get("nf_dietary_fiber", 0), |
|
|
"Fat (g)": food_details.get("nf_total_fat", 0), |
|
|
"Sugar (g)": food_details.get("nf_sugars", 0) |
|
|
} |
|
|
else: |
|
|
nutrition_data[food] = {"Error": f"Failed to fetch data for {food}"} |
|
|
return nutrition_data |
|
|
|