Repository Analysis

mealie-recipes/mealie

Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor

2.1 Likely human-written View on GitHub
2.1
Adjusted Score
2.1
Raw Score
100%
Time Factor
2026-05-29
Last Push
12,330
Stars
Python
Language
895,128
Lines of Code
1402
Files
1585
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 3HIGH 11MEDIUM 123LOW 1448

Pattern Findings

1585 matches across 14 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers711 hits · 711 pts
SeverityFileLineSnippet
LOW…tend/app/composables/use-shopping-list-item-actions.ts23export function useShoppingListItemActions(shoppingListId: string) {
LOWfrontend/app/composables/use-recipe-explorer-search.ts53function createRecipeExplorerSearchState(groupSlug: ComputedRef<string>): RecipeExplorerSearchState {
LOWfrontend/app/composables/use-recipe-explorer-search.ts473export function clearRecipeExplorerSearchState(groupSlug: string) {
LOWfrontend/app/composables/use-announcements.ts60 function updateUnreadAnnouncements(lastReadKey: string) {
LOWfrontend/app/composables/use-group-recipe-actions.ts37 async function refreshGroupRecipeActions() {
LOWfrontend/app/composables/use-users/preferences.ts80export function useUserMealPlanPreferences(): Ref<UserMealPlanPreferences> {
LOWfrontend/app/composables/use-users/preferences.ts127export function useUserActivityPreferences(): Ref<UserActivityPreferences> {
LOWfrontend/app/composables/use-users/preferences.ts139export function useUserSearchQuerySession(): Ref<UserSearchQuery> {
LOWfrontend/app/composables/use-users/preferences.ts151export function useShoppingListPreferences(): Ref<UserShoppingListPreferences> {
LOWfrontend/app/composables/use-users/preferences.ts200export function useRecipeFinderPreferences(): Ref<UserRecipeFinderPreferences> {
LOWfrontend/app/composables/use-users/preferences.ts219export function useRecipeCreatePreferences(): Ref<UserRecipeCreatePreferences> {
LOWfrontend/app/composables/use-users/preferences.ts234export function useUserExperiencePreferences(): Ref<UserExperiencePreferences> {
LOWfrontend/app/composables/api/static-routes.ts30 function recipeTimelineEventSmallImage(recipeId: string, timelineEventId: string) {
LOWfrontend/app/composables/api/static-routes.ts34 function recipeTimelineEventTinyImage(recipeId: string, timelineEventId: string) {
LOW…ables/recipe-page/use-extract-ingredient-references.ts11function removeTrailingPunctuation(word: string): string {
LOW…ables/recipe-page/use-extract-ingredient-references.ts16function removeStartingPunctuation(word: string): string {
LOW…ables/recipe-page/use-extract-ingredient-references.ts37export function useExtractIngredientReferences() {
LOW…ables/recipe-page/use-extract-ingredient-references.ts40 function extractIngredientReferences(recipeIngredients: RecipeIngredient[], activeRefs: string[], text: string): Set<s
LOW…mposables/shopping-list-page/use-shopping-list-page.ts80 function updateIndexUncheckedByLabel(labelName: string, labeledUncheckedItems: ShoppingListItemOut[]) {
LOW…mposables/shopping-list-page/use-shopping-list-page.ts143 function toggleReorderLabelsDialog() {
LOW…es/shopping-list-page/use-shopping-list-item-editor.ts5export function useShoppingListItemEditor(listItem: ModelRef<ShoppingListItemOut | ShoppingListItemCreate, string, Shopp
LOW…list-page/sub-composables/use-shopping-list-sorting.ts30 function groupAndSortListItemsByFood(shoppingList: ShoppingListOut) {
LOW…ng-list-page/sub-composables/use-shopping-list-crud.ts226 function toggleReorderLabelsDialog(reorderLabelsDialog: Ref<boolean>) {
LOW…list-page/sub-composables/use-shopping-list-recipes.ts31 async function removeRecipeReferenceToList(recipeId: string) {
LOWfrontend/app/components/Domain/QueryFilterBuilder.vue444function setRelationalOperatorValue(field: FieldWithId, index: number, value: RelationalKeyword | RelationalOperator) {
LOW…onents/Domain/Recipe/RecipeDialogAddToShoppingList.vue307async function consolidateRecipesIntoSections(recipes: RecipeWithScale[]) {
LOW…onents/Domain/Recipe/RecipeDialogAddToShoppingList.vue409async function openShoppingListIngredientDialog(list: ShoppingListSummary) {
LOW…/RecipePage/RecipePageParts/RecipePageInstructions.vue538function saveAndOpenNextLinkIngredients() {
LOWfrontend/app/pages/index.vue22async function redirectPublicUserToDefaultGroup() {
LOWtests/multitenant_tests/test_multitenant_cases.py23def test_multitenant_cases_get_all(
LOWtests/multitenant_tests/test_multitenant_cases.py60def test_multitenant_cases_same_named_resources(
LOWtests/unit_tests/test_security.py128async def test_download_file_security_restrictions():
LOWtests/unit_tests/test_security.py201def test_ldap_user_creation_invalid_group_or_household(
LOWtests/unit_tests/test_security.py238def test_ldap_user_creation_fail(monkeypatch: MonkeyPatch):
LOWtests/unit_tests/test_security.py256def test_ldap_user_creation_non_admin(monkeypatch: MonkeyPatch):
LOWtests/unit_tests/test_security.py279def test_ldap_user_creation_admin(monkeypatch: MonkeyPatch):
LOWtests/unit_tests/test_security.py314def test_user_login_ldap_auth_method(monkeypatch: MonkeyPatch, ldap_user: PrivateUser):
LOWtests/unit_tests/test_exceptions.py5def test_mealie_registered_exceptions() -> None:
LOWtests/unit_tests/test_alembic.py14def test_alembic_revisions_are_in_order() -> None:
LOWtests/unit_tests/test_config.py13def test_non_default_settings(monkeypatch):
LOWtests/unit_tests/test_config.py30def test_default_connection_args(monkeypatch):
LOWtests/unit_tests/test_config.py141def test_pg_connection_url_encode_password(data, monkeypatch):
LOWtests/unit_tests/test_config.py217def test_smtp_enable_with_bad_data_tls(data: SMTPValidationCase):
LOWtests/unit_tests/test_config.py268def test_ldap_settings_validation(data: LDAPValidationCase, monkeypatch: pytest.MonkeyPatch):
LOWtests/unit_tests/test_config.py340def test_oidc_settings_validation(data: OIDCValidationCase, monkeypatch: pytest.MonkeyPatch):
LOWtests/unit_tests/test_config.py353def test_sensitive_settings_mask(monkeypatch: pytest.MonkeyPatch):
LOWtests/unit_tests/test_config.py374 def test_non_production_returns_fixed_key(self, tmp_path: Path):
LOWtests/unit_tests/test_config.py378 def test_generates_secret_when_file_missing(self, tmp_path: Path):
LOWtests/unit_tests/test_config.py383 def test_reuses_existing_secret(self, tmp_path: Path):
LOWtests/unit_tests/test_config.py388 def test_regenerates_when_file_is_empty(self, tmp_path: Path):
LOWtests/unit_tests/test_config.py394 def test_regenerates_when_file_is_whitespace_only(self, tmp_path: Path):
LOWtests/unit_tests/test_config.py400 def test_generates_unique_secrets(self, tmp_path: Path):
LOWtests/unit_tests/test_config.py407 def test_no_tmp_file_left_after_write(self, tmp_path: Path):
LOW…_tests/validator_tests/test_registration_validators.py6def test_create_user_registration() -> None:
LOW…_tests/validator_tests/test_registration_validators.py37def test_group_or_token_validator(group, household, group_token) -> None:
LOW…_tests/validator_tests/test_registration_validators.py53def test_group_no_args_passed() -> None:
LOW…s/unit_tests/validator_tests/test_create_plan_entry.py9def test_create_plan_with_title():
LOW…s/unit_tests/validator_tests/test_create_plan_entry.py16def test_create_plan_with_slug():
LOW…s/unit_tests/validator_tests/test_create_plan_entry.py24def test_slug_or_title_validation():
LOWtests/unit_tests/ingredient_parser/test_unit_utils.py34def test_uc_parse_invalid_strict():
651 more matches not shown…
Unused Imports523 hits · 449 pts
SeverityFileLineSnippet
LOWtests/conftest.py32
LOWtests/utils/__init__.py1
LOWtests/utils/__init__.py2
LOWtests/utils/__init__.py3
LOWtests/utils/__init__.py4
LOWtests/utils/__init__.py5
LOWtests/utils/routes/__init__.py1
LOWtests/utils/routes/__init__.py2
LOWtests/utils/routes/__init__.py3
LOWtests/utils/routes/__init__.py4
LOWtests/utils/routes/__init__.py5
LOWtests/utils/routes/__init__.py6
LOWdev/code-generation/utils/__init__.py1
LOWdev/code-generation/utils/__init__.py2
LOWdev/code-generation/utils/__init__.py2
LOWdev/code-generation/utils/__init__.py2
LOWdev/code-generation/utils/__init__.py2
LOWdev/code-generation/utils/__init__.py2
LOWdev/code-generation/utils/__init__.py2
LOWdev/code-generation/utils/__init__.py3
LOWdev/code-generation/utils/__init__.py3
LOWdev/code-generation/utils/__init__.py3
LOWdev/code-generation/utils/__init__.py3
LOWdev/code-generation/utils/__init__.py3
LOWdev/code-generation/utils/__init__.py4
LOWdev/code-generation/utils/__init__.py4
LOWdev/code-generation/utils/__init__.py4
LOWdev/code-generation/utils/__init__.py4
LOWdev/code-generation/utils/__init__.py4
LOWdev/code-generation/utils/__init__.py4
LOWmealie/repos/__init__.py1
LOWmealie/repos/repository_generic.py1
LOWmealie/repos/repository_recipes.py1
LOWmealie/core/settings/__init__.py1
LOWmealie/core/settings/__init__.py2
LOWmealie/core/security/__init__.py1
LOWmealie/core/security/providers/__init__.py1
LOWmealie/core/security/providers/__init__.py2
LOWmealie/core/security/providers/__init__.py3
LOWmealie/core/security/providers/__init__.py4
LOWmealie/core/dependencies/__init__.py1
LOWmealie/lang/__init__.py1
LOWmealie/schema/_mealie/__init__.py2
LOWmealie/schema/_mealie/__init__.py2
LOWmealie/schema/_mealie/__init__.py2
LOWmealie/schema/_mealie/__init__.py2
LOWmealie/schema/_mealie/__init__.py3
LOWmealie/schema/_mealie/__init__.py3
LOWmealie/schema/_mealie/__init__.py3
LOWmealie/schema/_mealie/mealie_model.py1
LOWmealie/schema/response/__init__.py2
LOWmealie/schema/response/__init__.py2
LOWmealie/schema/response/__init__.py2
LOWmealie/schema/response/__init__.py2
LOWmealie/schema/response/__init__.py2
LOWmealie/schema/response/__init__.py2
LOWmealie/schema/response/__init__.py10
LOWmealie/schema/response/__init__.py11
LOWmealie/schema/response/__init__.py11
LOWmealie/schema/response/__init__.py11
463 more matches not shown…
Decorative Section Separators68 hits · 224 pts
SeverityFileLineSnippet
MEDIUMdocker/docker-compose.yml19 # =====================================
MEDIUMdocker/docker-compose.yml26 # =====================================
MEDIUM…it_tests/repository_tests/test_query_filter_builder.py85# ---------------------------------------------------------------------------
MEDIUM…it_tests/repository_tests/test_query_filter_builder.py87# ---------------------------------------------------------------------------
MEDIUM…it_tests/repository_tests/test_query_filter_builder.py115# ---------------------------------------------------------------------------
MEDIUM…it_tests/repository_tests/test_query_filter_builder.py117# ---------------------------------------------------------------------------
MEDIUM…tegration_tests/admin_tests/test_admin_ai_providers.py12# =======================================================================
MEDIUM…tegration_tests/admin_tests/test_admin_ai_providers.py28# =======================================================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py201# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py203# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py299# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py301# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py406# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py408# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py512# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py514# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py14# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py16# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py96# ==========================================
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py98# ==========================================
MEDIUM…ests/category_tag_tool_tests/test_organizers_common.py10# ==============================================================================
MEDIUMdev/code-generation/gen_ts_types.py9# ============================================================
MEDIUMdev/code-generation/gen_ts_types.py65# ============================================================
MEDIUMmealie/repos/repository_factory.py130 # ================================================================
MEDIUMmealie/repos/repository_factory.py179 # ================================================================
MEDIUMmealie/repos/repository_factory.py200 # ================================================================
MEDIUMmealie/repos/repository_factory.py237 # ================================================================
MEDIUMmealie/repos/repository_factory.py294 # ================================================================
MEDIUMmealie/repos/repository_factory.py314 # ================================================================
MEDIUMmealie/repos/repository_factory.py379 # ================================================================
MEDIUMmealie/core/settings/settings.py189 # ===============================================
MEDIUMmealie/core/settings/settings.py208 # ===============================================
MEDIUMmealie/core/settings/settings.py238 # ===============================================
MEDIUMmealie/core/settings/settings.py299 # ===============================================
MEDIUMmealie/core/settings/settings.py341 # ===============================================
MEDIUMmealie/core/settings/settings.py394 # ===============================================
MEDIUMmealie/core/settings/settings.py403 # ===============================================
MEDIUMmealie/core/settings/settings.py418 # ===============================================
MEDIUMmealie/schema/household/group_events.py9# =============================================================================
MEDIUMmealie/schema/household/group_events.py66# =======================================================================
MEDIUMmealie/schema/household/group_recipe_action.py9# ==================================================================================================================
MEDIUMmealie/schema/household/group_recipe_action.py48# ==================================================================================================================
MEDIUMmealie/routes/comments/__init__.py28 # =======================================================================
MEDIUMmealie/routes/recipe/exports.py18 # ==================================================================================================================
MEDIUMmealie/routes/recipe/timeline_events.py144 # ==================================================================================================================
MEDIUMmealie/routes/recipe/recipe_crud_routes.py127 # =======================================================================
MEDIUMmealie/routes/recipe/recipe_crud_routes.py292 # ==================================================================================================================
MEDIUMmealie/routes/recipe/recipe_crud_routes.py337 # ==================================================================================================================
MEDIUMmealie/routes/recipe/recipe_crud_routes.py611 # ==================================================================================================================
MEDIUMmealie/routes/admin/admin_management_ai_providers.py27 # =======================================================================
MEDIUMmealie/routes/admin/admin_management_users.py26 # =======================================================================
MEDIUMmealie/routes/admin/admin_management_households.py34 # =======================================================================
MEDIUMmealie/routes/admin/admin_management_groups.py28 # =======================================================================
MEDIUMmealie/routes/groups/controller_labels.py37 # =======================================================================
MEDIUM…e/routes/households/controller_group_recipe_actions.py37 # ==================================================================================================================
MEDIUM…e/routes/households/controller_group_recipe_actions.py67 # ==================================================================================================================
MEDIUM…ie/routes/households/controller_group_notifications.py47 # =======================================================================
MEDIUM…ie/routes/households/controller_group_notifications.py87 # =======================================================================
MEDIUMmealie/routes/households/controller_shopping_lists.py169 # =======================================================================
MEDIUMmealie/routes/households/controller_shopping_lists.py231 # =======================================================================
8 more matches not shown…
Excessive Try-Catch Wrapping134 hits · 149 pts
SeverityFileLineSnippet
LOW…tests/services_tests/backup_v2_tests/test_backup_v2.py270 except Exception as e:
LOW…gration_tests/user_recipe_tests/test_recipe_ratings.py38 except Exception:
LOW…tests/recipe_migration_tests/test_recipe_migrations.py204 except Exception:
LOW…ests/user_household_tests/test_group_mealplan_rules.py25 except Exception:
LOW…ion_tests/user_household_tests/test_group_cookbooks.py55 except Exception:
LOWdev/code-generation/gen_ts_types.py211 except Exception:
LOWdev/code-generation/utils/anonymize_backups.py48 except Exception as e:
MEDIUMdev/code-generation/utils/anonymize_backups.py31def clean_value(value):
LOWdev/code-generation/utils/open_api_parser.py112 except Exception:
MEDIUMdev/scripts/all_recipes_stress_test.py235 console.print(f"Error: {r.status_code}")
MEDIUMdev/scripts/all_recipes_stress_test.py242 console.print(f"Error: {recipe_json.status_code}")
MEDIUMdev/scripts/all_recipes_stress_test.py251 console.print(f"Error: {r.status_code}")
LOWmealie/repos/repository_foods.py24 except Exception as e:
LOWmealie/repos/repository_generic.py187 except Exception:
LOWmealie/repos/repository_generic.py265 except Exception as e:
LOWmealie/repos/repository_generic.py283 except Exception as e:
LOWmealie/repos/repository_generic.py345 except Exception as e:
LOWmealie/repos/repository_recipes.py118 except Exception:
LOWmealie/repos/repository_recipes.py126 except Exception:
LOWmealie/repos/repository_recipes.py149 except Exception as e:
LOWmealie/repos/repository_recipes.py281 except Exception as e:
LOWmealie/repos/repository_recipes.py492 except Exception as e:
LOWmealie/repos/repository_units.py126 except Exception as e:
LOWmealie/repos/seed/seeders.py51 except Exception as e:
LOWmealie/repos/seed/seeders.py87 except Exception as e:
LOWmealie/repos/seed/seeders.py129 except Exception as e:
LOWmealie/core/release_checker.py47 except Exception:
LOWmealie/core/security/providers/openid_provider.py103 except Exception as e:
LOWmealie/core/dependencies/dependencies.py58 except Exception:
LOWmealie/core/dependencies/dependencies.py63 except Exception:
LOWmealie/core/dependencies/dependencies.py84 except Exception:
LOWmealie/schema/cookbook/cookbook.py57 except Exception as e:
LOWmealie/schema/cookbook/cookbook.py89 except Exception:
LOWmealie/schema/meal_plan/plan_rules.py60 except Exception as e:
LOWmealie/schema/meal_plan/plan_rules.py88 except Exception:
LOWmealie/schema/household/group_shopping_list.py92 except Exception:
LOWmealie/schema/openai/_base.py33 except Exception:
LOWmealie/pkgs/img/minify.py201 except Exception as e:
LOWmealie/pkgs/i18n/json_provider.py45 except Exception:
LOWmealie/scripts/reprocess_images.py48 except Exception:
LOWmealie/scripts/reprocess_images.py54 except Exception:
LOWmealie/scripts/reprocess_images.py91 except Exception:
LOWmealie/scripts/reprocess_images.py117 except Exception:
LOWmealie/scripts/reprocess_images.py127 except Exception:
LOWmealie/db/init_db.py72 except Exception:
LOWmealie/db/init_db.py80 except Exception:
LOWmealie/db/models/_model_utils/auto_init.py64 except Exception:
LOWmealie/db/models/_model_utils/datetime.py40 except Exception:
LOWmealie/db/models/_model_utils/datetime.py47 except Exception:
LOWmealie/db/models/household/shopping_list.py236 except Exception:
LOW…-23-15.50.59_b1020f328e98_add_recipe_yield_quantity.py44 except Exception:
LOW….59.01_a39c7f1826e3_add_unit_standardization_fields.py96 except Exception:
LOW…-09-15.31.00_7cf3054cbbcc_remove_instructions_index.py126 except Exception:
LOW….41_b9e516e2d3b3_add_household_to_recipe_last_made_.py170 except Exception:
LOW…18-16.27.05_2187537c52b8_add_table_for_ai_providers.py268 except Exception:
LOWmealie/routes/unit_and_foods/units.py59 except Exception as e:
LOWmealie/routes/unit_and_foods/foods.py61 except Exception as e:
LOWmealie/routes/recipe/recipe_crud_routes.py235 except Exception as e:
LOWmealie/routes/recipe/recipe_crud_routes.py420 except Exception as e:
LOWmealie/routes/recipe/recipe_crud_routes.py431 except Exception as e:
74 more matches not shown…
Self-Referential Comments44 hits · 143 pts
SeverityFileLineSnippet
MEDIUMtests/unit_tests/core/test_security.py35 # Create a very long password which bcrypt doesn't support
MEDIUM…services_tests/ingredient_parser/test_openai_parser.py91 # Create a mock raw response which matches the OpenAI chat response format
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1075 # Create a sub-recipe ONLY in group 2
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1085 # Create a parent recipe in group 1
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1119 # Create a food
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1127 # Create a recipe_a
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1641 # Create a recipe name that's extremely long like the one in the GitHub issue
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1644 # Create the recipe
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py895 # Create a spice mix recipe
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py907 # Create a main recipe that uses the spice mix twice
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1010 # Create a recipe with the same slug in both groups
MEDIUM…ntegration_tests/user_recipe_tests/test_recipe_crud.py1035 # Create a parent recipe in group 1
MEDIUM…ion_tests/public_explorer_tests/test_public_recipes.py256 # Create a public and private recipe with a known tag
MEDIUM…ion_tests/public_explorer_tests/test_public_recipes.py290 # Create a recipe in another household with the same known tag
MEDIUM…ion_tests/public_explorer_tests/test_public_recipes.py311 # Create a public cookbook with tag
MEDIUM…n_tests/public_explorer_tests/test_public_cookbooks.py148 # Create a public and private recipe with a known tag
MEDIUM…n_tests/public_explorer_tests/test_public_cookbooks.py182 # Create a public and private recipe with a known tag in another household
MEDIUM…n_tests/public_explorer_tests/test_public_cookbooks.py210 # Create a public cookbook with tag
MEDIUM…n_tests/public_explorer_tests/test_public_cookbooks.py239 # Create a public recipe with a known tag
MEDIUM…n_tests/public_explorer_tests/test_public_cookbooks.py268 # Create a public recipe with a known tag on a private household
MEDIUM…n_tests/public_explorer_tests/test_public_cookbooks.py291 # Create a public cookbook with tag
MEDIUM…tegration_tests/admin_tests/test_admin_user_actions.py69 # Create a new user
MEDIUM…tegration_tests/admin_tests/test_admin_ai_providers.py114 # Create a brand new group the admin doesn't belong to
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py313 # Create a provider so there's something to GET (using repos directly to bypass permission check)
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py33 # Create a provider first
MEDIUM…tion_tests/user_group_tests/test_group_ai_providers.py553 # Create a user in the new group with can_manage=True
MEDIUM…tion_tests/user_household_tests/test_group_webhooks.py106 # Create a webhook and post it
MEDIUM.github/workflows/locale-sync.yml87 # Create a new branch from the base branch
MEDIUMdev/code-generation/gen_py_schema_exports.py8template = """# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/_mealie/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/response/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/group/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/recipe/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/admin/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/labels/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/user/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/cookbook/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/meal_plan/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/household/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/openai/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/analytics/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/schema/reports/__init__.py1# This file is auto-generated by gen_schema_exports.py
MEDIUMmealie/services/backups_v2/backup_v2.py36 # Create a backup of the SQLite database
MEDIUMmealie/services/openai/openai.py317 # Create a transcription from the audio
Deep Nesting64 hits · 62 pts
SeverityFileLineSnippet
LOWtests/multitenant_tests/test_multitenant_cases.py23
LOWtests/multitenant_tests/test_multitenant_cases.py60
LOW…tests/services_tests/backup_v2_tests/test_backup_v2.py171
LOW…tests/services_tests/backup_v2_tests/test_backup_v2.py223
LOWtests/integration_tests/test_repository_factory.py76
LOW…ration_tests/user_tests/test_user_password_services.py15
LOW…ration_tests/user_tests/test_user_password_services.py63
LOW…tests/recipe_migration_tests/test_recipe_migrations.py193
LOW…ests/user_household_tests/test_group_shopping_lists.py249
LOW…ests/user_household_tests/test_group_shopping_lists.py581
LOW…ests/user_household_tests/test_group_shopping_lists.py663
LOWtests/utils/helpers.py9
LOWdev/code-generation/gen_py_pytest_routes.py27
LOWdev/code-generation/gen_ts_types.py69
LOWdev/code-generation/gen_ts_types.py101
LOWdev/code-generation/utils/open_api_parser.py76
LOWdev/code-generation/utils/open_api_parser.py103
LOWdev/code-generation/utils/open_api_parser.py117
LOWmealie/repos/repository_generic.py432
LOWmealie/repos/repository_recipes.py361
LOWmealie/repos/repository_units.py17
LOWmealie/core/logger/config.py38
LOWmealie/core/dependencies/dependencies.py36
LOWmealie/pkgs/img/minify.py156
LOWmealie/pkgs/i18n/json_provider.py17
LOWmealie/pkgs/i18n/json_provider.py33
LOWmealie/pkgs/stats/fs_stats.py8
LOWmealie/scripts/reprocess_images.py132
LOWmealie/db/fixes/fix_migration_data.py136
LOWmealie/db/models/_model_utils/auto_init.py76
LOWmealie/db/models/_model_utils/auto_init.py104
LOWmealie/db/models/_model_utils/auto_init.py112
LOWmealie/db/models/_model_utils/auto_init.py114
LOW….59.01_a39c7f1826e3_add_unit_standardization_fields.py42
LOW…-09-15.31.00_7cf3054cbbcc_remove_instructions_index.py103
LOW…ons/2024-07-12-16.16.29_feecc8ffb956_add_households.py44
LOWmealie/routes/recipe/recipe_crud_routes.py90
LOWmealie/routes/admin/admin_maintenance.py16
LOWmealie/routes/admin/admin_maintenance.py38
LOWmealie/routes/_base/controller.py168
LOWmealie/services/backups_v2/alchemy_exporter.py98
LOWmealie/services/backups_v2/alchemy_exporter.py189
LOWmealie/services/backups_v2/alchemy_exporter.py249
LOWmealie/services/backups_v2/backup_v2.py43
LOWmealie/services/scraper/scraper_strategies.py469
LOWmealie/services/scraper/scraper_strategies.py524
LOWmealie/services/scraper/cleaner.py562
LOWmealie/services/parser_services/_base.py60
LOWmealie/services/parser_services/_base.py78
LOWmealie/services/parser_services/brute/process.py133
LOWmealie/services/recipe/recipe_data_service.py119
LOWmealie/services/recipe/recipe_service.py302
LOWmealie/services/recipe/recipe_service.py498
LOW…eduler/tasks/delete_old_checked_shopping_list_items.py54
LOWmealie/services/query_filter/keywords.py12
LOWmealie/services/query_filter/builder.py194
LOWmealie/services/query_filter/builder.py214
LOWmealie/services/query_filter/builder.py286
LOWmealie/services/query_filter/builder.py341
LOWmealie/services/query_filter/builder.py403
4 more matches not shown…
Cross-File Repetition7 hits · 35 pts
SeverityFileLineSnippet
HIGHtests/data/__init__.py044e8d670719d: add extras to shopping lists, list items, and ingredient foods
HIGHtests/data/__init__.py044e8d670719d: add extras to shopping lists, list items, and ingredient foods
HIGHtests/data/__init__.py044e8d670719d: add extras to shopping lists, list items, and ingredient foods
HIGHtests/data/__init__.py044e8d670719d: add extras to shopping lists, list items, and ingredient foods
HIGHmealie/schema/response/responses.py0this method is an helper to create an object and convert to a dictionary in the same call, for use while providing detai
HIGHmealie/schema/response/responses.py0this method is an helper to create an object and convert to a dictionary in the same call, for use while providing detai
HIGHmealie/schema/response/responses.py0this method is an helper to create an object and convert to a dictionary in the same call, for use while providing detai
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippet
CRITICAL…ntegration_tests/user_recipe_tests/test_recipe_crud.py36from tests.utils.helpers import parse_sse_events
CRITICAL…ts/user_recipe_tests/test_recipe_create_from_openai.py15from tests.utils.helpers import parse_sse_events
CRITICALmealie/schema/recipe/recipe.py17from mealie.core.exceptions import SlugError
Cross-Language Confusion3 hits · 18 pts
SeverityFileLineSnippet
HIGHmealie/core/settings/settings.py41Custom serializer for sensitive settings. If the setting is None, then will serialize as null, otherwise,
HIGHmealie/schema/recipe/recipe_ingredient.py69 # sometimes the frontend will give us an empty string instead of null, so we convert it to None,
HIGHmealie/routes/auth/auth.py71 # request.client should never be null, except sometimes during testing
Redundant / Tautological Comments7 hits · 11 pts
SeverityFileLineSnippet
LOW…ests/category_tag_tool_tests/test_organizers_common.py256 # Check if Organizer is returned with 10 RecipeSummary
LOW.github/workflows/auto-merge-l10n.yml57 # Check if file matches any allowed path
LOWmealie/services/scraper/scraper_strategies.py453 # Check if we can actually download something to transcribe
LOWmealie/services/scraper/scraped_extras.py45 # Check if tag exists
LOWmealie/services/scraper/scraped_extras.py72 # Check if category exists
LOWmealie/services/parser_services/brute/process.py111 # Check if the matching opening bracket is in the same token
LOWmealie/services/recipe/recipe_service.py421 # Check if this recipe is already in the current path (cycle detected)
Over-Commented Block9 hits · 9 pts
SeverityFileLineSnippet
LOWfrontend/app/assets/variables.scss1// Ref: https://github.com/nuxt-community/vuetify-module#customvariables
LOWtests/e2e/playwright.config.ts61 // {
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply need
LOW.github/workflows/stale.yml21 # This stops an issue from ever getting closed automatically.
LOWmealie/alembic/alembic.ini21# leave blank for localtime
LOWmealie/alembic/alembic.ini41# version_locations = %(here)s/bar:%(here)s/bat:alembic/versions
LOWmealie/alembic/alembic.ini61# on newly generated revision scripts. See the documentation for further
LOWmealie/services/scraper/cleaner.py161 #
LOWmealie/services/scraper/cleaner.py201 case [str(), *_]:
AI Slop Vocabulary5 hits · 9 pts
SeverityFileLineSnippet
LOWtests/data/html/detroit-style-pepperoni-pizza.html924</p><ul class="ReviewListMeta-gTSwIE jdKQPB"><li class="BaseWrap-sc-TURhJ BaseText-fFzBQt ReviewListMetaItem-iuExFx eTiI
MEDIUMmealie/routes/_base/controller.py157 # In order to use a "" as a router and utilize the prefix in the original router
LOWmealie/services/parser_services/ingredient_parser.py212 # For now, just add them as a note ("and amt_1, and amt_2, and ...")
LOWmealie/services/parser_services/ingredient_parser.py229 # For now, just add them to the note ("or ing_1, or ing_2, or ...")
LOWmealie/services/query_filter/builder.py524 # this component does not have any keywords or operators, so we just add it as-is
Fake / Example Data6 hits · 7 pts
SeverityFileLineSnippet
LOW…unit_tests/core/security/auth_cache/test_auth_cache.py193 "email": "user@example.com",
LOW…unit_tests/core/security/auth_cache/test_auth_cache.py206 assert retrieved["userinfo"]["email"] == "user@example.com"
LOW…ore/security/auth_cache/test_auth_cache_integration.py130 "name": "John Doe",
LOW…tegration_tests/admin_tests/test_admin_user_actions.py127 "email": "user@example.com",
LOW…s-with-scallion-brown-butter-and-snow-peas-recipe.html1<!DOCTYPE html><html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Nu
LOWtests/data/html/detroit-style-pepperoni-pizza.html924</p><ul class="ReviewListMeta-gTSwIE jdKQPB"><li class="BaseWrap-sc-TURhJ BaseText-fFzBQt ReviewListMetaItem-iuExFx eTiI
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippet
HIGHmealie/schema/recipe/recipe.py41Generate a slug from a recipe name, truncating to a reasonable length. Args: name: The recipe name to creat