Coverage for opt/mealie/lib/python3.12/site-packages/mealie/repos/repository_meals.py: 61%
19 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:32 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-11-25 15:32 +0000
1from datetime import UTC, datetime 1a
3from sqlalchemy import select 1a
5from mealie.db.models.household import GroupMealPlan 1a
6from mealie.schema.meal_plan.new_meal import ReadPlanEntry 1a
8from .repository_generic import HouseholdRepositoryGeneric 1a
11class RepositoryMeals(HouseholdRepositoryGeneric[ReadPlanEntry, GroupMealPlan]): 1a
12 def get_today(self, tz=UTC) -> list[ReadPlanEntry]: 1a
13 if not self.household_id: 13 ↛ 14line 13 didn't jump to line 14 because the condition on line 13 was never true1b
14 raise Exception("household_id not set")
16 today = datetime.now(tz=tz).date() 1b
17 stmt = select(GroupMealPlan).filter( 1b
18 GroupMealPlan.date == today, GroupMealPlan.household_id == self.household_id
19 )
20 plans = self.session.execute(stmt).scalars().all() 1b
21 return [self.schema.model_validate(x) for x in plans] 1b
23 def get_meals_by_date_range(self, start_date: datetime, end_date: datetime) -> list[ReadPlanEntry]: 1a
24 if not self.household_id:
25 raise Exception("household_id not set")
27 stmt = select(GroupMealPlan).filter(
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()
33 return [self.schema.model_validate(x) for x in plans]