Coverage for opt/mealie/lib/python3.12/site-packages/mealie/services/urls/url_constructors.py: 33%

22 statements  

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

1from pydantic import UUID4 1a

2 

3from mealie.core.config import get_app_settings 1a

4 

5 

6def _base_or(base_url: str | None) -> str: 1a

7 if base_url is None: 

8 settings = get_app_settings() 

9 return settings.BASE_URL 

10 

11 return base_url 

12 

13 

14def recipe_url(group_slug: str, recipe_slug: str, base_url: str | None) -> str: 1a

15 base = _base_or(base_url) 

16 return f"{base}/g/{group_slug}/r/{recipe_slug}" 

17 

18 

19def shopping_list_url(shopping_list_id: UUID4 | str, base_url: str | None) -> str: 1a

20 base = _base_or(base_url) 

21 return f"{base}/shopping-list/{shopping_list_id}" 

22 

23 

24def tag_url(tag_slug: str, base_url: str | None) -> str: 1a

25 base = _base_or(base_url) 

26 return f"{base}/recipes/tags/{tag_slug}" 

27 

28 

29def category_url(category_slug: str, base_url: str | None) -> str: 1a

30 base = _base_or(base_url) 

31 return f"{base}/recipes/categories/{category_slug}" 

32 

33 

34def tool_url(tool_slug: str, base_url: str | None) -> str: 1a

35 base = _base_or(base_url) 

36 return f"{base}/recipes/tool/{tool_slug}"