Skip to content

Commit

Permalink
MOD rename function get_meals --> get_meal_list
Browse files Browse the repository at this point in the history
MOD get_recipes --> get_recipe_list
ADD function get_meal()
ADD function get_recipe()
  • Loading branch information
Dnic94 committed Feb 6, 2022
1 parent 12c2436 commit f0c15ab
Showing 1 changed file with 82 additions and 5 deletions.
87 changes: 82 additions & 5 deletions myfitnesspal/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1104,8 +1104,8 @@ def set_new_goal(self, energy: float = "", energy_unit: str = "", carbohydrates:
return None


def get_recipes(self):

def get_recipe_list(self):
#TODO EXCEPTION HANDLING
recipes_dict = {}

page_count= 1
Expand Down Expand Up @@ -1134,9 +1134,42 @@ def get_recipes(self):
print(recipes_dict.values())
return recipes_dict


def get_meals(self):

def get_recipe(self, recipeid: int):
#TODO EXCEPTION HANDLING
recipe_PATH = f"/recipe/view/{recipeid}"
recipe_url = parse.urljoin(self.BASE_URL_SECURE, recipe_PATH)
document = self._get_document_for_url(recipe_url)

recipe_dict = {}
recipe_dict['id'] = recipeid
recipe_dict['title'] = document.xpath('//*[@id="main"]/div[3]/div[2]/h1')[0].text
recipe_dict['servings'] = document.xpath('//*[@id="recipe_servings"]')[0].text


recipe_dict['ingridients'] = []
ingridients = document.xpath('//*[@id="main"]/div[4]/div/*/li')
for ingridient in ingridients:
tmp = {}
tmp['title'] = ingridient.text.strip(" \n")
recipe_dict['ingridients'].append(tmp)

recipe_dict['nutrition'] = {}
recipe_dict['nutrition']['energy'] = document.xpath('//*[@id="main"]/div[3]/div[2]/div[2]/div')[0].text.strip(" \n")
recipe_dict['nutrition']['carbohydrates'] = document.xpath('//*[@id="carbs"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['fiber'] = document.xpath('//*[@id="fiber"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['sugar'] = document.xpath('//*[@id="sugar"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['protein'] = document.xpath('//*[@id="protein"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['fat'] = document.xpath('//*[@id="total_fat"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['saturated_fat'] = document.xpath('//*[@id="saturated_fat"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['monounsaturated_fat'] = document.xpath('//*[@id="monounsaturated_fat"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['polyunsaturated_fat'] = document.xpath('//*[@id="polyunsaturated_fat"]/td[1]/span[2]')[0].text.strip(" \n")
recipe_dict['nutrition']['trans_fat'] = document.xpath('//*[@id="trans_fat"]/td[1]/span[2]')[0].text.strip(" \n")


return recipe_dict

def get_meal_list(self):
#TODO EXCEPTION HANDLING
meals_dict = {}
MEALS_PATH = f"meal/mine"
meals_url = parse.urljoin(self.BASE_URL_SECURE, MEALS_PATH)
Expand All @@ -1151,6 +1184,50 @@ def get_meals(self):
print(meals_dict.values())
return meals_dict

def get_meal(self, mealid: int, meal_title: str):
#TODO EXCEPTION HANDLING
meal_dict = {}
meal_dict['id'] = mealid
meal_dict['title'] = meal_title
meal_dict['ingridients'] = []
meal_dict['nutrition'] = {}
meal_dict['nutrition']['energy'] = ""
meal_dict['nutrition']['carbohydrates'] = ""
meal_dict['nutrition']['protein'] = ""
meal_dict['nutrition']['fat'] = ""
meal_dict['nutrition']['sugar'] = ""

MEAL_PATH = f"/meal/update_meal_ingredients/{mealid}"
meal_url = parse.urljoin(self.BASE_URL_SECURE, MEAL_PATH)
document = self._get_document_for_url(meal_url)
ingridients = document.xpath('//*[@id="meal-table"]/tbody/tr')

for ingridient in ingridients:
tmp = {}
tmp['title'] = ingridient.xpath('./td[1]')[0].text
tmp['nutrition'] = {}
tmp['nutrition']['energy'] = ingridient.xpath('./td[2]')[0].text
tmp['nutrition']['carbohydrates'] = ingridient.xpath('./td[3]')[0].text
tmp['nutrition']['protein'] = ingridient.xpath('./td[5]')[0].text
tmp['nutrition']['fat'] = ingridient.xpath('./td[4]')[0].text
tmp['nutrition']['sugar'] = ingridient.xpath('./td[7]')[0].text
tmp['nutrition']['sodium'] = ingridient.xpath('./td[6]')[0].text
meal_dict['ingridients'].append(tmp)

total = document.xpath('//*[@id="mealTableTotal"]/tbody/tr')[0]
meal_dict['nutrition']['energy'] = total.xpath('./td[2]')[0].text
meal_dict['nutrition']['carbohydrates'] = total.xpath('./td[3]')[0].text
meal_dict['nutrition']['protein'] = total.xpath('./td[5]')[0].text
meal_dict['nutrition']['fat'] = total.xpath('./td[4]')[0].text
meal_dict['nutrition']['sugar'] = total.xpath('./td[7]')[0].text
meal_dict['nutrition']['sodium'] = total.xpath('./td[6]')[0].text

return meal_dict






"""
data = {
Expand Down

0 comments on commit f0c15ab

Please sign in to comment.