Coverage for opt/mealie/lib/python3.12/site-packages/mealie/repos/repository_meals.py: 83%

19 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-11-25 17:29 +0000

1from datetime import UTC, datetime 1b

2 

3from sqlalchemy import select 1b

4 

5from mealie.db.models.household import GroupMealPlan 1b

6from mealie.schema.meal_plan.new_meal import ReadPlanEntry 1b

7 

8from .repository_generic import HouseholdRepositoryGeneric 1b

9 

10 

11class RepositoryMeals(HouseholdRepositoryGeneric[ReadPlanEntry, GroupMealPlan]): 1b

12 def get_today(self, tz=UTC) -> list[ReadPlanEntry]: 1b

13 if not self.household_id: 13 ↛ 14line 13 didn't jump to line 14 because the condition on line 13 was never true

14 raise Exception("household_id not set") 

15 

16 today = datetime.now(tz=tz).date() 

17 stmt = select(GroupMealPlan).filter( 

18 GroupMealPlan.date == today, GroupMealPlan.household_id == self.household_id 

19 ) 

20 plans = self.session.execute(stmt).scalars().all() 

21 return [self.schema.model_validate(x) for x in plans] 

22 

23 def get_meals_by_date_range(self, start_date: datetime, end_date: datetime) -> list[ReadPlanEntry]: 1b

24 if not self.household_id: 24 ↛ 25line 24 didn't jump to line 25 because the condition on line 24 was never true1cdea

25 raise Exception("household_id not set") 

26 

27 stmt = select(GroupMealPlan).filter( 1cdea

28 GroupMealPlan.date >= start_date.date(), 

29 GroupMealPlan.date <= end_date.date(), 

30 GroupMealPlan.household_id == self.household_id, 

31 ) 

32 plans = self.session.execute(stmt).scalars().all() 1cdea

33 return [self.schema.model_validate(x) for x in plans] 1cdea