| apps/ai/services/validator.py |
_validate_value |
method |
40 |
E |
| apps/recipes/services/search.py |
_extract_result_from_element |
method |
20 |
C |
| apps/ai/services/validator.py |
AIResponseValidator |
class |
16 |
C |
| apps/recipes/services/search.py |
_looks_like_recipe_url |
method |
15 |
C |
| apps/recipes/utils.py |
decimal_to_fraction |
function |
14 |
C |
| apps/core/middleware.py |
_is_legacy_device |
method |
14 |
C |
| apps/ai/services/ranking.py |
rank_results |
function |
12 |
C |
| apps/ai/services/openrouter.py |
complete |
method |
12 |
C |
| apps/ai/services/openrouter.py |
complete_async |
method |
12 |
C |
| apps/ai/services/scaling.py |
scale_recipe |
function |
12 |
C |
| apps/recipes/services/search.py |
_fallback_parse |
method |
12 |
C |
| apps/ai/api.py |
update_prompt |
function |
11 |
C |
| apps/recipes/services/search.py |
search |
method |
11 |
C |
| apps/ai/api.py |
scale_recipe_endpoint |
function |
10 |
B |
| apps/ai/services/remix.py |
create_remix |
function |
10 |
B |
| apps/recipes/api.py |
search_recipes |
function |
10 |
B |
| apps/ai/tests.py |
test_sources_needing_attention_endpoint |
method |
9 |
B |
| apps/ai/services/remix.py |
estimate_nutrition |
function |
9 |
B |
| apps/recipes/management/commands/cleanup_search_images.py |
handle |
method |
9 |
B |
| apps/ai/api.py |
create_remix_endpoint |
function |
8 |
B |
| apps/ai/api.py |
tips_endpoint |
function |
8 |
B |
| apps/ai/tests.py |
test_ai_status_endpoint |
method |
8 |
B |
| apps/ai/tests.py |
test_repair_selector_success |
method |
8 |
B |
| apps/ai/services/timer.py |
generate_timer_name |
function |
8 |
B |
| apps/ai/services/openrouter.py |
get_available_models |
method |
8 |
B |
| apps/ai/services/openrouter.py |
validate_key_cached |
method |
8 |
B |
| apps/ai/services/discover.py |
_generate_recommended_suggestions |
function |
8 |
B |
| apps/ai/services/discover.py |
_generate_new_suggestions |
function |
8 |
B |
| apps/recipes/services/search.py |
RecipeSearch |
class |
8 |
B |
| apps/ai/api.py |
remix_suggestions |
function |
7 |
B |
| apps/ai/api.py |
repair_selector_endpoint |
function |
7 |
B |
| apps/ai/tests.py |
test_ai_status_no_api_key |
method |
7 |
B |
| apps/ai/tests.py |
test_ai_status_valid_api_key |
method |
7 |
B |
| apps/ai/tests.py |
test_validate_key_cached_caches_result |
method |
7 |
B |
| apps/ai/services/tips.py |
generate_tips |
function |
7 |
B |
| apps/ai/services/ranking.py |
_apply_ranking |
function |
7 |
B |
| apps/ai/services/openrouter.py |
OpenRouterService |
class |
7 |
B |
| apps/ai/services/scaling.py |
calculate_nutrition |
function |
7 |
B |
| apps/recipes/utils.py |
tidy_ingredient |
function |
7 |
B |
| apps/recipes/services/image_cache.py |
_download_and_save |
method |
7 |
B |
| apps/recipes/services/scraper.py |
_download_image |
method |
7 |
B |
| apps/recipes/services/scraper.py |
_convert_webp_to_jpeg |
method |
7 |
B |
| apps/legacy/views.py |
recipe_detail |
function |
7 |
B |
| apps/legacy/views.py |
play_mode |
function |
7 |
B |
| apps/core/api.py |
reset_database |
function |
7 |
B |
| apps/ai/api.py |
timer_name_endpoint |
function |
6 |
B |
| apps/ai/tests.py |
test_ai_status_invalid_api_key |
method |
6 |
B |
| apps/ai/tests.py |
test_validate_key_cached_caches_invalid_result |
method |
6 |
B |
| apps/ai/tests.py |
test_repair_selector_low_confidence_no_update |
method |
6 |
B |
| apps/ai/tests.py |
test_get_sources_needing_attention |
method |
6 |
B |
| apps/ai/tests.py |
test_repair_selector_endpoint_success |
method |
6 |
B |
| apps/ai/services/scaling.py |
_format_time |
function |
6 |
B |
| apps/recipes/services/image_cache.py |
_fetch_image |
method |
6 |
B |
| apps/recipes/services/image_cache.py |
_convert_to_jpeg |
method |
6 |
B |
| apps/recipes/services/scraper.py |
scrape_url |
method |
6 |
B |
| apps/recipes/management/commands/cleanup_search_images.py |
Command |
class |
6 |
B |
| apps/core/middleware.py |
DeviceDetectionMiddleware |
class |
6 |
B |
| apps/profiles/api.py |
delete_profile |
function |
6 |
B |
| apps/ai/tests.py |
AIAPITests |
class |
5 |
A |
| apps/ai/tests.py |
SelectorRepairServiceTests |
class |
5 |
A |
| apps/ai/tests.py |
test_repair_selector_auto_update_disabled |
method |
5 |
A |
| apps/ai/tests.py |
SelectorRepairAPITests |
class |
5 |
A |
| apps/ai/tests.py |
test_repair_selector_endpoint_with_options |
method |
5 |
A |
| apps/ai/tests.py |
test_ai_status_shows_available_with_key |
method |
5 |
A |
| apps/ai/tests.py |
test_tips_returns_503_with_action_field_when_ai_unavailable |
method |
5 |
A |
| apps/ai/services/remix.py |
_parse_time |
function |
5 |
A |
| apps/ai/services/selector.py |
repair_selector |
function |
5 |
A |
| apps/ai/services/selector.py |
repair_all_broken_selectors |
function |
5 |
A |
| apps/ai/services/scaling.py |
_parse_time |
function |
5 |
A |
| apps/ai/services/discover.py |
_format_suggestions |
function |
5 |
A |
| apps/recipes/sources_api.py |
test_source |
function |
5 |
A |
| apps/recipes/sources_api.py |
test_all_sources |
function |
5 |
A |
| apps/recipes/services/image_cache.py |
SearchImageCache |
class |
5 |
A |
| apps/recipes/services/scraper.py |
_parse_time |
method |
5 |
A |
| apps/recipes/services/search.py |
_parse_search_results |
method |
5 |
A |
| apps/ai/api.py |
get_ai_status |
function |
4 |
A |
| apps/ai/api.py |
discover_endpoint |
function |
4 |
A |
| apps/ai/tests.py |
test_models_endpoint_with_api_key |
method |
4 |
A |
| apps/ai/tests.py |
test_get_prompt_endpoint |
method |
4 |
A |
| apps/ai/tests.py |
test_update_prompt_endpoint |
method |
4 |
A |
| apps/ai/tests.py |
test_update_prompt_invalid_model |
method |
4 |
A |
| apps/ai/tests.py |
OpenRouterServiceTests |
class |
4 |
A |
| apps/ai/tests.py |
test_get_available_models_success |
method |
4 |
A |
| apps/ai/tests.py |
TimerNamingAPITests |
class |
4 |
A |
| apps/ai/tests.py |
AIFeatureFallbackTests |
class |
4 |
A |
| apps/ai/tests.py |
test_ai_status_shows_unavailable_without_key |
method |
4 |
A |
| apps/ai/services/remix.py |
get_remix_suggestions |
function |
4 |
A |
| apps/ai/services/openrouter.py |
test_connection |
method |
4 |
A |
| apps/ai/services/discover.py |
get_discover_suggestions |
function |
4 |
A |
| apps/ai/services/discover.py |
_generate_seasonal_suggestions |
function |
4 |
A |
| apps/ai/services/discover.py |
_get_season |
function |
4 |
A |
| apps/recipes/api.py |
list_recipes |
function |
4 |
A |
| apps/recipes/api.py |
scrape_recipe |
function |
4 |
A |
| apps/recipes/services/image_cache.py |
cache_images |
method |
4 |
A |
| apps/recipes/services/image_cache.py |
get_cached_urls_batch |
method |
4 |
A |
| apps/recipes/services/scraper.py |
RecipeScraper |
class |
4 |
A |
| apps/recipes/services/scraper.py |
_fetch_html |
method |
4 |
A |
| apps/recipes/services/scraper.py |
_safe_get |
method |
4 |
A |
| apps/recipes/services/scraper.py |
_safe_get_ingredient_groups |
method |
4 |
A |
| apps/legacy/views.py |
home |
function |
4 |
A |