AI Slop Code RIsk Monitor

wizarrrr/wizarr

Wizarr is an advanced user invitation and management system for Jellyfin, Plex, Emby etc.

35.3 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for wizarrrr/wizarr, a Python project with 3,220 GitHub stars. SynthScan examined 86,557 lines of code across 451 source files, recording 1984 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 35.3 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

35.3
Adjusted Signal
35.3
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
3.2K
Stars
Python
Language
86.6K
Lines of Code
451
Files
2.0K
Pattern Hits
2026-10-12
Scan Date
0.19
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 53.2/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 1078 finding(s).

Hallucinated Dependency & Supply Chain Risk 5.5/100 · LOW

Are imports declared and package/API names verified? 78 finding(s).

Agent Over-Engineering Ratio 76.0/100 · CRITICAL

Are wrappers, guards, and repeated structures necessary? 1620 finding(s).

PR Review Velocity Impact 82.1/100 · CRITICAL

Which changes need focused human review? 1984 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 1HIGH 86MEDIUM 278LOW 1619

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1984 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers792 hits · 828 pts
SeverityFileLineSnippetContext
LOWapp/models.py284 def update_standardized_metadata(self, details):CODE
LOWapp/extensions.py250def _configure_sqlite_for_concurrency(app):CODE
LOWapp/jinja_filters.py29def _zone_from_localtime_link():CODE
LOWapp/tasks/maintenance.py59def _get_expiry_check_interval():CODE
LOWapp/tasks/activity.py27def cleanup_old_activity_task(app: Flask, retention_days: int = 90):CODE
LOWapp/tasks/activity.py82def monitor_health_check_task(app: Flask):CODE
LOWapp/tasks/activity.py149def activity_monitoring_heartbeat_task(app: Flask):CODE
LOW⚡app/tasks/activity.py195def recover_sessions_on_startup_task(app: Flask):CODE
LOW⚡app/tasks/activity.py222def get_activity_cleanup_interval() -> int:CODE
LOW⚡app/tasks/activity.py228def get_stale_session_cleanup_interval() -> int:CODE
LOW⚡app/tasks/activity.py234def get_health_check_interval() -> int:CODE
LOW⚡app/tasks/activity.py303def activity_tasks_registered(scheduler) -> bool:CODE
LOW⚡app/tasks/activity.py308def unregister_activity_tasks(scheduler) -> None:CODE
LOWapp/tasks/activity.py322def reconcile_activity_tracking_task(app: Flask) -> bool:CODE
LOWapp/tasks/activity.py330def register_activity_tracking_reconcile_task(app: Flask, scheduler) -> None:CODE
LOWapp/blueprints/wizard/routes.py257def _gather_steps_with_phases(CODE
LOWapp/blueprints/wizard/routes.py450def _get_server_type_from_invitation(invitation: Invitation) -> str | None:STRING
LOWapp/blueprints/admin/routes.py936def remove_user_from_server_endpoint(user_id: int, server_id: int):CODE
LOWapp/blueprints/media_common/routes.py124def register_media_blueprints(app):CODE
LOWapp/blueprints/public/routes.py37def _apply_safe_media_user_policy(CODE
LOW⚡app/blueprints/api/api_routes.py170def _calculate_invitation_status(invitation):CODE
LOWapp/blueprints/api/api_routes.py109def require_api_key_or_session(f):CODE
LOWapp/forms/connections.py41 def validate_enable_watchlist_sync(self, field):CODE
LOWapp/activity/tracking.py21def is_activity_tracking_enabled() -> bool:CODE
LOWapp/activity/tracking.py35def set_activity_tracking_enabled(enabled: bool) -> None:CODE
LOWapp/activity/tracking.py109def reconcile_activity_tracking(CODE
LOWapp/activity/api/blueprint.py61def _activity_settings_template() -> str:CODE
LOWapp/activity/api/blueprint.py89def _load_verified_media_servers() -> list:CODE
LOWapp/activity/api/blueprint.py107def _render_activity_settings(CODE
LOWapp/activity/api/blueprint.py144def _settings_action_response(CODE
LOWapp/activity/api/blueprint.py177def _render_historical_jobs_partial(server_id: int | None):CODE
LOWapp/activity/api/blueprint.py197def _delete_all_activity_data() -> int:CODE
LOWapp/activity/api/blueprint.py671def import_historical_activity():CODE
LOWapp/activity/api/blueprint.py738def clear_historical_activity():CODE
LOWapp/activity/api/helpers.py33def activity_settings_template() -> str:CODE
LOWapp/activity/api/helpers.py56def load_verified_media_servers() -> list:CODE
LOWapp/activity/api/helpers.py138def render_historical_jobs_partial(server_id: int | None):CODE
LOWapp/activity/templates/activity/history_tab.html226function scheduleActivitySummaryPolling() {CODE
LOWapp/activity/templates/activity/dashboard.html229function scheduleActivitySummaryPolling() {CODE
LOWapp/activity/templates/activity/settings_tab.html301function toggleHistoricalImportAvailability() {CODE
LOWapp/activity/templates/activity/settings_tab.html322function setHistoricalImportLoading(isLoading) {CODE
LOWapp/activity/monitoring/session_manager.py754 def _extract_session_data_from_plex(CODE
LOWapp/activity/monitoring/session_manager.py827 def _get_session_from_current_activity(CODE
LOWapp/activity/monitoring/collectors/audiobookshelf.py106 def _handle_no_active_sessions(self):CODE
LOWapp/activity/monitoring/collectors/audiobookshelf.py120 def _extract_session_data_from_polling(CODE
LOWapp/templates/welcome-jellyfin.html479 function revealFormWithoutAnimation() {CODE
LOWapp/templates/tables/invite_card.html223 function updateInviteCardSelection() {CODE
LOWapp/services/ombi_client.py29def get_connection_for_server(CODE
LOWapp/services/ombi_client.py38def invite_user_to_connections(CODE
LOWapp/services/ombi_client.py91def has_plex_provisioning_connections(server_id: int) -> bool:CODE
LOWapp/services/ombi_client.py101def provision_plex_user_on_connections(auth_token: str, server_id: int) -> list[dict]:CODE
LOWapp/services/ombi_client.py176def delete_user_from_connections(internal_token: str) -> list[dict]:CODE
LOWapp/services/cloudflare_access.py47 def _reload_user_each_request():CODE
LOWapp/services/wizard_export_import.py121 def export_steps_by_server_type(self, server_type: str) -> WizardExportDTO:CODE
LOWapp/services/wizard_export_import.py634 def get_server_types_with_steps(self) -> list[str]:CODE
LOWapp/services/server_name_resolver.py10def resolve_invitation_server_name(servers: list[MediaServer]) -> str:CODE
LOWapp/services/wizard_reset.py39 def get_default_steps_for_server(CODE
LOWapp/services/user_details.py154 def _extract_libraries_from_cached_data(CODE
LOWapp/services/user_details.py171 def _extract_libraries_from_details(CODE
LOWapp/services/servers.py71def check_jellyfin_or_emby_internal(url: str, token: str) -> tuple[bool, str]:CODE
732 more matches not shown…
Decorative Section Separators213 hits · 740 pts
SeverityFileLineSnippetContext
MEDIUMdocker-entrypoint.sh6# ───────── 1) Create or reuse the chosen UID/GID ──────────COMMENT
MEDIUM⚡docker-entrypoint.sh61# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡docker-entrypoint.sh63# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡docker-entrypoint.sh68# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡docker-entrypoint.sh70# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py25# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py48# ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py50# ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py130 # ── NEW: link invitation to an explicit wizard bundle ────────────COMMENT
MEDIUMapp/models.py314# ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py316# ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py340 # ── helpers ────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py597 # ── convenience helpers ─────────────────────────────────────────────COMMENT
MEDIUMapp/models.py612# ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py614# ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py1128# ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py1130# ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/extensions.py189 # ── legacy single-admin token ───────────────────────────────────────────COMMENT
MEDIUMapp/extensions.py193 # ── new multi-admin accounts ───────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/settings/routes.py344# ────────────────────────────────────────────────────────────────────────────STRING
MEDIUMapp/blueprints/settings/routes.py346# ────────────────────────────────────────────────────────────────────────────STRING
MEDIUMapp/blueprints/wizard_admin/routes.py108# ─── Bundles view ─────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py429 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py433 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py444 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py446 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py466# ─── bundle CRUD ─────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py645# ─── add steps modal & handler ───────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard_admin/routes.py703# ─── Export/Import functionality ─────────────────────────────────────COMMENT
MEDIUMapp/blueprints/auth/routes.py62 # ── Handle LDAP authentication ─────────────────────────────────────COMMENT
MEDIUMapp/blueprints/auth/routes.py79 # ── 1) Multi-admin accounts (preferred) ────────────────────────────COMMENT
MEDIUMapp/blueprints/auth/routes.py179# ── Logout ────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/setup/routes.py48 # ── Step 1: create admin account ───────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py86# ─── helpers ────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py145 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard/routes.py152 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard/routes.py205 # ─── 1) DB-backed steps ────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py247 # ─── 2) Fallback to bundled markdown files ─────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py941# ─── combined wizard for multi-server invites ─────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py1106# ─── bundle-specific wizard route ──────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py526# ─── routes ─────────────────────────────────────────────────────STRING
MEDIUMapp/blueprints/wizard/routes.py1318# ─── bundle preview route (admin) ──────────────────────────────STRING
MEDIUM⚡app/blueprints/admin/routes.py318 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py320 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py324 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py326 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py331 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py333 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py419 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py421 # ------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py430# ----------------------------------------------------------------------COMMENT
MEDIUM⚡app/blueprints/admin/routes.py432# ----------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py239 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py241 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py269 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py271 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py587 # ── GET → serve the enhanced modal with server information ────────COMMENT
MEDIUMapp/blueprints/admin/routes.py1166# ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/admin/routes.py1357 # ----------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py1362 # ----------------------COMMENT
153 more matches not shown…
Excessive Try-Catch Wrapping504 hits · 465 pts
SeverityFileLineSnippetContext
LOWrecovery_tool.py151 except Exception as e:CODE
LOWrecovery_tool.py206 except Exception as e:CODE
LOWrecovery_tool.py247 except Exception as e:CODE
LOWrecovery_tool.py290 except Exception as e:CODE
LOWgunicorn.conf.py112 except Exception as e:CODE
LOWgunicorn.conf.py129 except Exception as e:CODE
LOWgunicorn.conf.py166 except Exception as e:CODE
MEDIUM⚡dev.py48 print(f"Error running command: {' '.join(command)}")CODE
MEDIUM⚡dev.py49 print(f"Error code: {process.returncode}")CODE
LOW⚡dev.py56 except Exception as e:CODE
MEDIUM⚡dev.py57 print(f"Error running command: {' '.join(command)}")CODE
MEDIUM⚡dev.py58 print(f"Error: {e}")CODE
LOW⚡app/__init__.py83 except Exception as exc:CODE
LOW⚡app/__init__.py99 except Exception as exc:CODE
LOW⚡app/__init__.py120 except Exception as exc:CODE
LOW⚡app/__init__.py153 except Exception as exc:CODE
LOWapp/extensions.py120 except Exception:CODE
LOWapp/extensions.py134 except Exception as e:CODE
LOWapp/extensions.py162 except Exception as e:CODE
LOWapp/extensions.py277 except Exception:CODE
LOWapp/jinja_filters.py47 except Exception as exc:CODE
LOWapp/jinja_filters.py65 except Exception as exc:CODE
LOWapp/jinja_filters.py78 except Exception as exc:CODE
LOWapp/jinja_filters.py85 except Exception:CODE
LOWapp/jinja_filters.py242 except Exception:CODE
LOWapp/tasks/update_check.py124 except Exception as notify_error:CODE
LOWapp/tasks/update_check.py142 except Exception as e:CODE
LOWapp/tasks/update_check.py149 except Exception as e:CODE
LOWapp/tasks/maintenance.py55 except Exception as e:CODE
LOWapp/tasks/activity.py49 except Exception as e:CODE
LOWapp/tasks/activity.py77 except Exception as e:CODE
LOWapp/tasks/activity.py144 except Exception as e:CODE
LOW⚡app/tasks/activity.py183 except Exception as e:CODE
LOW⚡app/tasks/activity.py190 except Exception as e:CODE
LOW⚡app/tasks/activity.py217 except Exception as e:CODE
LOW⚡app/tasks/activity.py299 except Exception as e:CODE
LOWapp/blueprints/settings/routes.py60 except Exception:CODE
LOWapp/blueprints/settings/routes.py218 except Exception as exc:CODE
LOWapp/blueprints/settings/routes.py313 except Exception as exc:STRING
LOWapp/blueprints/api_keys/routes.py79 except Exception:CODE
LOWapp/blueprints/wizard_admin/routes.py738 except Exception as e:CODE
LOWapp/blueprints/wizard_admin/routes.py781 except Exception as e:CODE
LOWapp/blueprints/wizard_admin/routes.py842 except Exception as e:CODE
LOWapp/blueprints/wizard_admin/routes.py876 except Exception as e:CODE
LOWapp/blueprints/wizard_admin/routes.py897 except Exception as e:CODE
LOWapp/blueprints/wizard_admin/routes.py914 except Exception as e:CODE
LOWapp/blueprints/auth/ldap_auth.py100 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py119 except Exception as exc:CODE
LOWapp/blueprints/media_servers/routes.py136 except Exception as exc:CODE
LOWapp/blueprints/media_servers/routes.py342 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py377 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py424 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py471 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py519 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py212 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py325 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py716 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py732 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py743 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py768 except Exception as e:CODE
444 more matches not shown…
Cross-File Repetition76 hits · 380 pts
SeverityFileLineSnippetContext
HIGHapp/services/companions/audiobookrequest.py0test the connection to ombi. args: connection: connection object with url and api key returns: dict with 'status' and 'mSTRING
HIGHapp/services/companions/base.py0test the connection to ombi. args: connection: connection object with url and api key returns: dict with 'status' and 'mSTRING
HIGHapp/services/companions/ombi.py0test the connection to ombi. args: connection: connection object with url and api key returns: dict with 'status' and 'mSTRING
HIGHapp/services/media/navidrome.py0disable a user account on drop. args: user_id: the user's drop id (unused - drop doesn't support enable/disable) returnsSTRING
HIGHapp/services/media/plex.py0disable a user account on drop. args: user_id: the user's drop id (unused - drop doesn't support enable/disable) returnsSTRING
HIGHapp/services/media/komga.py0disable a user account on drop. args: user_id: the user's drop id (unused - drop doesn't support enable/disable) returnsSTRING
HIGHapp/services/media/drop.py0disable a user account on drop. args: user_id: the user's drop id (unused - drop doesn't support enable/disable) returnsSTRING
HIGHapp/services/media/navidrome.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/plex.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/audiobookshelf.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/kavita.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/komga.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/romm.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/drop.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/jellyfin.py0get user info in legacy format for backward compatibility.STRING
HIGHapp/services/media/navidrome.py0get detailed user information in standardized format.STRING
HIGHapp/services/media/kavita.py0get detailed user information in standardized format.STRING
HIGHapp/services/media/komga.py0get detailed user information in standardized format.STRING
HIGHapp/services/media/romm.py0get detailed user information in standardized format.STRING
HIGHapp/services/media/drop.py0get detailed user information in standardized format.STRING
HIGHapp/services/media/navidrome.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/audiobookshelf.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/kavita.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/komga.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/romm.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/drop.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/jellyfin.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/plex.py0get lightweight user count from database without triggering plex.tv sync.STRING
HIGHapp/services/media/navidrome.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/plex.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/audiobookshelf.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/komga.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/romm.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/drop.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/jellyfin.py0get lightweight server information without triggering user sync.STRING
HIGHapp/services/media/navidrome.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/plex.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/audiobookshelf.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/kavita.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/komga.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/romm.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/drop.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/jellyfin.py0get lightweight statistics without triggering user synchronization.STRING
HIGHapp/services/media/client_base.py0scan available libraries on this jellyfin server. args: url: optional server url override token: optional api token overSTRING
HIGHapp/services/media/audiobookshelf.py0scan available libraries on this jellyfin server. args: url: optional server url override token: optional api token overSTRING
HIGHapp/services/media/kavita.py0scan available libraries on this jellyfin server. args: url: optional server url override token: optional api token overSTRING
HIGHapp/services/media/komga.py0scan available libraries on this jellyfin server. args: url: optional server url override token: optional api token overSTRING
HIGHapp/services/media/jellyfin.py0scan available libraries on this jellyfin server. args: url: optional server url override token: optional api token overSTRING
HIGHapp/services/media/plex.py0extract library access: (library_names | none, has_full_access).STRING
HIGHapp/services/media/audiobookshelf.py0extract library access: (library_names | none, has_full_access).STRING
HIGHapp/services/media/jellyfin.py0extract library access: (library_names | none, has_full_access).STRING
HIGHapp/services/media/plex.py0get detailed user information from database (no api calls).STRING
HIGHapp/services/media/audiobookshelf.py0get detailed user information from database (no api calls).STRING
HIGHapp/services/media/jellyfin.py0get detailed user information from database (no api calls).STRING
HIGHapp/services/media/audiobookshelf.py0return essential romm server statistics for the dashboard. only collects data actually used by the ui: - server version STRING
HIGHapp/services/media/emby.py0return essential romm server statistics for the dashboard. only collects data actually used by the ui: - server version STRING
HIGHapp/services/media/komga.py0return essential romm server statistics for the dashboard. only collects data actually used by the ui: - server version STRING
HIGHapp/services/media/romm.py0return essential romm server statistics for the dashboard. only collects data actually used by the ui: - server version STRING
HIGHtests/test_wizard_presets_service.py0return a clean database session inside an app context.STRING
HIGHtests/test_wizard_drag_drop.py0return a clean database session inside an app context.STRING
16 more matches not shown…
Self-Referential Comments48 hits · 160 pts
SeverityFileLineSnippetContext
MEDIUMapp/blueprints/wizard_admin/routes.py265 # Create the stepCOMMENT
MEDIUMapp/blueprints/audiobookshelf/routes.py3# Create the audiobookshelf blueprint using the common factoryCOMMENT
MEDIUMapp/blueprints/kavita/routes.py3# Create the kavita blueprint using the common factoryCOMMENT
MEDIUMapp/blueprints/jellyfin/routes.py3# Create the jellyfin blueprint using the common factoryCOMMENT
MEDIUMapp/blueprints/admin/routes.py1294 # Create a dict to attach timestamps and sort users to match the pagination orderCOMMENT
MEDIUMapp/blueprints/connections/routes.py178 # Create a temporary connection object for testingCOMMENT
MEDIUMapp/blueprints/komga/routes.py3# Create the komga blueprint using the common factoryCOMMENT
MEDIUMapp/blueprints/emby/routes.py3# Create the emby blueprint using the common factoryCOMMENT
MEDIUMapp/blueprints/api/api_routes.py51# Create the Blueprint for the APICOMMENT
MEDIUMapp/blueprints/api/api_routes.py744 # Create a form-like object that create_invite expectsCOMMENT
MEDIUMapp/activity/monitoring/session_manager.py671 # Create a synthetic stop transitionCOMMENT
MEDIUMapp/services/wizard_export_import.py547 # Create the wizard step with server_type "custom"COMMENT
MEDIUMapp/services/ldap/invitation_ldap.py38 # Create the LDAP userCOMMENT
MEDIUMapp/services/invitation_flow/results.py106 # Create a copy without the template_name keyCOMMENT
MEDIUMapp/services/media/plex.py1366 # Create the user on any request system that asked for it, while weCOMMENT
MEDIUMapp/services/media/plex.py1472 # Create a PlexServer instance with Flask app contextCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py18 # Create a test serverCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py28 # Create a user with an expiry date 3 days from nowCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py58 # Create a test serverCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py68 # Create a user with a timezone-aware expiry date 5 days from nowCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py95 # Create a test serverCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py105 # Create a user that expired 1 day agoCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py129 # Create a test serverCOMMENT
MEDIUM⚡tests/test_expiry_datetime_fix.py139 # Create a user that expires in 10 daysCOMMENT
MEDIUMtests/test_api_restx.py34 # Create a test admin accountCOMMENT
MEDIUMtests/test_api_restx.py491 # Create an inactive API keyCOMMENT
MEDIUMtests/test_api_comprehensive_deprecated.py28 # Create a test admin accountCOMMENT
MEDIUMtests/test_wizard_drag_drop.py216 # Create a custom order: [2, 0, 1]COMMENT
MEDIUMtests/test_wizard_step_filtering.py275 # Create a DB stepCOMMENT
MEDIUMtests/test_invite_code_manager.py57 # Create a valid invitationCOMMENT
MEDIUMtests/test_invitation_comprehensive.py36 # Create a valid invitationCOMMENT
MEDIUM⚡tests/test_session_cache.py22 # Create a 0-byte file (the exact scenario from #1180)COMMENT
MEDIUM⚡tests/test_session_cache.py39 # Create a valid cache file (4-byte header + pickled data)COMMENT
MEDIUMtests/test_wizard_export_import.py91 # Create a bundle with stepsCOMMENT
MEDIUMtests/test_wizard_export_import.py307 # Create an existing step with pre_invite categoryCOMMENT
MEDIUMtests/test_identity_linking_fix.py165 # Create an identity for the first user (simulating what would happen in practice)COMMENT
MEDIUMtests/test_invitation_server_defaulting.py27 # Create a test admin accountCOMMENT
MEDIUM⚡tests/test_wizard_admin_forms.py158 # Create a post_invite stepCOMMENT
MEDIUMtests/test_wizard_admin_forms.py197 # Create a pre_invite stepCOMMENT
MEDIUMtests/test_wizard_admin_forms.py236 # Create a pre_invite stepCOMMENT
MEDIUMtests/test_wizard_admin_forms.py443 # Create a simple step with post_invite categoryCOMMENT
MEDIUMtests/test_api_server_names.py27 # Create a test admin accountCOMMENT
MEDIUMtests/test_api_server_names.py115 # Create a serverCOMMENT
MEDIUMtests/test_api_server_names.py153 # Create a serverCOMMENT
MEDIUMtests/test_invitation_server_name.py11 # Create a test admin account if it doesn't existCOMMENT
MEDIUMtests/test_invitation_server_name.py69 # Create an invitation without server associationCOMMENT
MEDIUMtests/test_invitation_server_name.py78 # Create a default server that should be used as fallbackCOMMENT
MEDIUM.github/workflows/create-release.yml46 # Create the release (explicitly published, not draft)COMMENT
Redundant / Tautological Comments77 hits · 114 pts
SeverityFileLineSnippetContext
LOWrecovery_tool.py220 # Check if username already existsCOMMENT
LOWgunicorn.conf.py47 # Set environment to indicate Gunicorn contextCOMMENT
LOWapp/models.py979 # Check if critical fields are UnknownCOMMENT
LOW⚡app/__init__.py132 # Check if plus features should be enabledCOMMENT
LOWapp/middleware.py20 # Check if an admin user existsCOMMENT
LOWapp/tasks/ldap_sync.py56 # Check if LDAP is enabledCOMMENT
LOWapp/tasks/ldap_sync.py78 # Check if user already existsCOMMENT
LOWapp/tasks/update_check.py73 # Check if update is available and log/notify itCOMMENT
LOWapp/tasks/update_check.py88 # Check if we've already notified about this versionCOMMENT
LOWapp/tasks/maintenance.py39 # Check if we're actually in WAL mode firstCOMMENT
LOWapp/blueprints/settings/routes.py121 # Check if a MediaServer already existsCOMMENT
LOWapp/blueprints/settings/routes.py557 # Check if user already existsCOMMENT
LOWapp/blueprints/api_keys/routes.py39 # Check if name already existsCOMMENT
LOWapp/blueprints/wizard_admin/routes.py353 # Check if this is a custom step (from bundle context)COMMENT
LOWapp/blueprints/auth/routes.py83 # Check if this account has passkeys registered - if so, require 2FACOMMENT
LOWapp/blueprints/auth/routes.py147 # Check if there are any passkeys registered for error pageCOMMENT
LOWapp/blueprints/auth/routes.py162 # Check if there are any passkeys registered for error pageCOMMENT
LOWapp/blueprints/wizard/routes.py76 # Check if this is coming from an invitation processCOMMENT
LOWapp/blueprints/wizard/routes.py727 # Check if this is a multi-server invitationCOMMENT
LOWapp/blueprints/wizard/routes.py823 # Check if user is trying to advance past the final stepCOMMENT
LOWapp/blueprints/wizard/routes.py1027 # Check if we're on the last step and moving forwardCOMMENT
LOW⚡app/blueprints/wizard/routes.py569 # Check if this is a multi-server invitationSTRING
LOWapp/blueprints/wizard/routes.py638 # Check if user is trying to advance beyond the final stepSTRING
LOWapp/blueprints/connections/routes.py165 # Check if it's just a CSRF errorCOMMENT
LOWapp/blueprints/webauthn/routes.py97 # Check if it's an IP address (IPv4 or IPv6) using Python's built-in validationCOMMENT
LOWapp/blueprints/webauthn/routes.py268 # Check if this is a 2FA authenticationCOMMENT
LOWapp/blueprints/webauthn/routes.py347 # Check if this is 2FA authenticationCOMMENT
LOW⚡app/blueprints/api/api_routes.py177 # Check if invitation has expiredCOMMENT
LOWapp/blueprints/api/api_routes.py114 # Check if user is authenticated via session (Flask-Login)COMMENT
LOWapp/blueprints/api/api_routes.py874 # Check if library already exists to avoid duplicatesCOMMENT
LOWapp/blueprints/api/api_routes.py1029 # Check if trying to delete the currently used keyCOMMENT
LOWapp/activity/monitoring/monitor.py107 # Check if the media_server table exists before queryingCOMMENT
LOWapp/activity/monitoring/session_manager.py144 # Check if this is truly a new session or a duplicate alert BEFORE updatingCOMMENT
LOWapp/activity/monitoring/session_manager.py192 # Check if another thread just started this sessionCOMMENT
LOWapp/activity/monitoring/collectors/audiobookshelf.py74 # Check if this is a new sessionCOMMENT
LOWapp/activity/monitoring/collectors/emby.py73 # Check if this is a new session or has changesCOMMENT
LOWapp/activity/monitoring/collectors/polling.py59 # Check if this is a new sessionCOMMENT
LOWapp/activity/monitoring/collectors/jellyfin.py72 # Check if this is a new session or has changesCOMMENT
LOWapp/scripts/migrate_media_server.py17 # Check if an admin user existsCOMMENT
LOWapp/services/invite_code_manager.py72 # Check if invitation is expiredCOMMENT
LOWapp/services/invite_code_manager.py82 # Check if invitation is fully used (limited invitations only)COMMENT
LOWapp/services/invites.py268 # Check if *all* servers are now used (only for limited invitations)COMMENT
LOWapp/services/wizard_export_import.py408 # Check if step already exists at this positionCOMMENT
LOWapp/services/wizard_export_import.py502 # Check if bundle already existsCOMMENT
LOWapp/services/server_name_resolver.py80 # Check if we're using the global settingCOMMENT
LOWapp/services/invitation_manager.py44 # Check if we already have a user with this invitation code AND emailCOMMENT
LOWapp/services/invitation_manager.py50 # Check if there are any users with the same code but different emailsCOMMENT
LOWapp/services/wizard_migration.py24 # Check if WizardStep table exists (might not exist during initial setup)COMMENT
LOWapp/services/library_scanner.py40 # Check if the library table exists (in case migrations haven't run yet)COMMENT
LOWapp/services/notifications.py144 # Check if agent is subscribed to this event typeCOMMENT
LOWapp/services/activity/ingestion.py54 # Check if it's a database lock errorCOMMENT
LOWapp/services/ldap/client.py185 # Check if user already existsCOMMENT
LOWapp/services/ldap/user_sync.py75 # Check if user already exists in WizarrCOMMENT
LOWapp/services/historical/__init__.py203 # Check if session already existsCOMMENT
LOWapp/services/invitation_flow/strategies.py78 # Check if we have OAuth token from session or formCOMMENT
LOWapp/services/invitation_flow/strategies.py112 # Check if we have Plex OAuth tokenCOMMENT
LOWapp/services/invitation_flow/workflows.py439 # Check if we have OAuth tokenCOMMENT
LOWapp/services/invitation_flow/manager.py100 # Check if pre-wizard is complete (only if in request context)COMMENT
LOWapp/services/media/service.py200 # Check if there are other User records with the same usernameCOMMENT
LOWapp/services/media/service.py282 # Check if user has other accountsCOMMENT
17 more matches not shown…
Deep Nesting93 hits · 76 pts
SeverityFileLineSnippetContext
LOWrecovery_tool.py65CODE
LOWrecovery_tool.py251CODE
LOWgunicorn.conf.py42CODE
LOWapp/__init__.py12CODE
LOWapp/jinja_filters.py161CODE
LOWapp/tasks/update_check.py16CODE
LOWapp/tasks/maintenance.py9CODE
LOWapp/tasks/activity.py82CODE
LOWapp/tasks/activity.py149CODE
LOWapp/blueprints/api_keys/routes.py33CODE
LOWapp/blueprints/wizard_admin/routes.py541CODE
LOWapp/blueprints/media_servers/routes.py65CODE
LOWapp/blueprints/wizard/routes.py682CODE
LOWapp/blueprints/admin/routes.py229CODE
LOWapp/blueprints/admin/routes.py483CODE
LOWapp/blueprints/admin/routes.py1092CODE
LOWapp/blueprints/admin/routes.py1320CODE
LOWapp/blueprints/public/routes.py134CODE
LOWapp/blueprints/public/routes.py378CODE
LOWapp/blueprints/public/routes.py518CODE
LOWapp/blueprints/api/api_routes.py201CODE
LOWapp/blueprints/api/api_routes.py325CODE
LOWapp/blueprints/api/api_routes.py563CODE
LOWapp/blueprints/api/api_routes.py625CODE
LOWapp/blueprints/api/api_routes.py854CODE
LOWapp/blueprints/notifications/routes.py34CODE
LOWapp/blueprints/notifications/routes.py127CODE
LOWapp/activity/api/blueprint.py295CODE
LOWapp/activity/api/blueprint.py587CODE
LOWapp/activity/monitoring/monitor.py101CODE
LOWapp/activity/monitoring/session_manager.py77CODE
LOWapp/activity/monitoring/session_manager.py134CODE
LOWapp/activity/monitoring/session_manager.py538CODE
LOWapp/activity/monitoring/collectors/audiobookshelf.py164CODE
LOWapp/activity/monitoring/collectors/emby.py22CODE
LOWapp/activity/monitoring/collectors/emby.py54CODE
LOWapp/activity/monitoring/collectors/polling.py38CODE
LOWapp/activity/monitoring/collectors/jellyfin.py21CODE
LOWapp/activity/monitoring/collectors/jellyfin.py53CODE
LOWapp/utils/session_cache.py127CODE
LOWapp/scripts/cleanup_unknown_activity.py26CODE
LOWapp/scripts/migrate_libraries.py23CODE
LOWapp/services/wizard_export_import.py355CODE
LOWapp/services/servers.py23CODE
LOWapp/services/invitation_manager.py91CODE
LOWapp/services/expiry.py185CODE
LOWapp/services/wizard_widgets.py142CODE
LOWapp/services/wizard_widgets.py190CODE
LOWapp/services/notifications.py134CODE
LOWapp/services/image_proxy.py401CODE
LOWapp/services/activity/ingestion.py32CODE
LOWapp/services/activity/maintenance.py87CODE
LOWapp/services/activity/maintenance.py146CODE
LOWapp/services/activity/analytics.py132CODE
LOWapp/services/historical/utils.py48CODE
LOW…rvices/historical/importers/audiobookshelf_importer.py20CODE
LOWapp/services/historical/importers/jellyfin_importer.py25CODE
LOWapp/services/historical/importers/plex_importer.py21CODE
LOWapp/services/historical/importers/plex_importer.py286CODE
LOWapp/services/invitation_flow/workflows.py121CODE
33 more matches not shown…
Unused Imports58 hits · 56 pts
SeverityFileLineSnippetContext
LOWapp/blueprints/api_keys/__init__.py1CODE
LOWapp/blueprints/wizard_admin/routes.py1CODE
LOWapp/blueprints/media_common/__init__.py3CODE
LOWapp/blueprints/api/__init__.py1CODE
LOWapp/blueprints/api/__init__.py2CODE
LOWapp/activity/__init__.py8CODE
LOWapp/activity/__init__.py15CODE
LOWapp/activity/__init__.py15CODE
LOWapp/activity/__init__.py16CODE
LOWapp/activity/tracking.py3CODE
LOWapp/activity/monitoring/collectors/__init__.py11CODE
LOWapp/activity/monitoring/collectors/__init__.py12CODE
LOWapp/activity/monitoring/collectors/__init__.py13CODE
LOWapp/activity/monitoring/collectors/__init__.py14CODE
LOWapp/scripts/cleanup_unknown_activity.py15CODE
LOWapp/services/wizard_export_import.py3CODE
LOWapp/services/wizard_seed.py1CODE
LOWapp/services/activity/ingestion.py8CODE
LOWapp/services/activity/identity_resolution.py5CODE
LOWapp/services/activity/maintenance.py7CODE
LOWapp/services/activity/__init__.py8CODE
LOWapp/services/activity/queries.py9CODE
LOWapp/services/activity/analytics.py7CODE
LOWapp/services/ldap/invitation_ldap.py9CODE
LOWapp/services/historical/importers/__init__.py3CODE
LOWapp/services/historical/importers/__init__.py6CODE
LOWapp/services/historical/importers/__init__.py9CODE
LOWapp/services/invitation_flow/__init__.py8CODE
LOWapp/services/invitation_flow/__init__.py9CODE
LOWapp/services/invitation_flow/__init__.py9CODE
LOWapp/services/invitation_flow/__init__.py9CODE
LOWapp/services/invitation_flow/__init__.py10CODE
LOWapp/services/invitation_flow/__init__.py11CODE
LOWapp/services/invitation_flow/__init__.py11CODE
LOWapp/services/invitation_flow/__init__.py11CODE
LOWapp/services/invitation_flow/__init__.py11CODE
LOWapp/services/invitation_flow/__init__.py17CODE
LOWapp/services/invitation_flow/__init__.py17CODE
LOWapp/services/invitation_flow/__init__.py17CODE
LOWapp/services/media/navidrome.py1CODE
LOWapp/services/media/__init__.py9CODE
LOWapp/services/media/__init__.py10CODE
LOWapp/services/media/__init__.py11CODE
LOWapp/services/media/__init__.py12CODE
LOWapp/services/media/__init__.py13CODE
LOWapp/services/media/__init__.py14CODE
LOWapp/services/media/__init__.py15CODE
LOWapp/services/media/__init__.py16CODE
LOWapp/services/media/__init__.py19CODE
LOWapp/services/media/client_base.py11CODE
LOWapp/services/media/audiobookshelf.py1CODE
LOWapp/services/media/kavita.py23CODE
LOWapp/services/media/komga.py5CODE
LOWapp/services/media/romm.py1CODE
LOWtests/test_wizard_require_interaction.py1CODE
LOWtests/test_wizard_reset.py7CODE
LOWtests/test_wizard_seed.py8CODE
LOWscripts/migration_doctor.py18CODE
Structural Annotation Overuse26 hits · 53 pts
SeverityFileLineSnippetContext
LOW⚡app/__init__.py24 # Step 1: Configure loggingCOMMENT
LOW⚡app/__init__.py29 # Step 2: Create Flask applicationCOMMENT
LOW⚡app/__init__.py35 # Step 3: Initialize extensionsCOMMENT
LOW⚡app/__init__.py40 # Step 4: Register blueprintsCOMMENT
LOW⚡app/__init__.py73 # Step 6: Initialize wizard stepsCOMMENT
LOW⚡app/__init__.py87 # Step 7: Run wizard migrationsCOMMENT
LOW⚡app/__init__.py103 # Step 8: Scan libraries for all media serversCOMMENT
LOW⚡app/__init__.py128 # Step 9: Initialize Plus features if enabledCOMMENT
LOW⚡app/__init__.py159 # Step 10: Show scheduler status and complete startupCOMMENT
LOWapp/__init__.py53 # Step 5: Setup context processors and filtersCOMMENT
LOW⚡app/templates/welcome-jellyfin.html535 // Step 1: Prepare form screen (hidden initially)COMMENT
LOW⚡app/templates/welcome-jellyfin.html544 // Step 2: Create timeline animation with Anime.jsCOMMENT
LOWapp/services/servers.py194 # Step 1: Use API key to get JWT tokenCOMMENT
LOWapp/services/servers.py208 # Step 2: Use JWT token to test library accessCOMMENT
LOW⚡app/services/media/emby.py190 # Step 1: Create user without passwordCOMMENT
LOW⚡app/services/media/emby.py194 # Step 2: Set passwordCOMMENT
LOWapp/services/media/drop.py188 # Step 1: Create invitationCOMMENT
LOWapp/services/media/drop.py208 # Step 2: Consume invitation to create userCOMMENT
LOW⚡tests/test_invitation_flow_integration.py89 # Step 1: Access invitation link /j/<code>COMMENT
LOW⚡tests/test_invitation_flow_integration.py101 # Step 2: View pre-wizard stepsCOMMENT
LOW⚡tests/test_invitation_flow_integration.py106 # Step 3: Complete pre-wizard (navigate to last step)COMMENT
LOW⚡tests/test_invitation_flow_integration.py111 # Step 4: Access join page (should now be allowed)COMMENT
LOWtests/test_migrations.py297 # Step 1: Migrate to the latest release version stateCOMMENT
LOW⚡tests/test_migrations.py319 # Step 2: Upgrade from release version to current HEADCOMMENT
LOW⚡tests/test_migrations.py322 # Step 3: Verify the upgrade succeeded and all current tables existCOMMENT
LOW⚡tests/test_wizard_start_redirect.py122 # NOTE: The following tests for invite code redirect are commented outCOMMENT
Verbosity Indicators25 hits · 52 pts
SeverityFileLineSnippetContext
LOW⚡app/__init__.py24 # Step 1: Configure loggingCOMMENT
LOW⚡app/__init__.py29 # Step 2: Create Flask applicationCOMMENT
LOW⚡app/__init__.py35 # Step 3: Initialize extensionsCOMMENT
LOW⚡app/__init__.py40 # Step 4: Register blueprintsCOMMENT
LOW⚡app/__init__.py73 # Step 6: Initialize wizard stepsCOMMENT
LOW⚡app/__init__.py87 # Step 7: Run wizard migrationsCOMMENT
LOW⚡app/__init__.py103 # Step 8: Scan libraries for all media serversCOMMENT
LOW⚡app/__init__.py128 # Step 9: Initialize Plus features if enabledCOMMENT
LOW⚡app/__init__.py159 # Step 10: Show scheduler status and complete startupCOMMENT
LOWapp/__init__.py53 # Step 5: Setup context processors and filtersCOMMENT
LOW⚡app/templates/welcome-jellyfin.html535 // Step 1: Prepare form screen (hidden initially)COMMENT
LOW⚡app/templates/welcome-jellyfin.html544 // Step 2: Create timeline animation with Anime.jsCOMMENT
LOWapp/services/servers.py194 # Step 1: Use API key to get JWT tokenCOMMENT
LOWapp/services/servers.py208 # Step 2: Use JWT token to test library accessCOMMENT
LOW⚡app/services/media/emby.py190 # Step 1: Create user without passwordCOMMENT
LOW⚡app/services/media/emby.py194 # Step 2: Set passwordCOMMENT
LOWapp/services/media/drop.py188 # Step 1: Create invitationCOMMENT
LOWapp/services/media/drop.py208 # Step 2: Consume invitation to create userCOMMENT
LOW⚡tests/test_invitation_flow_integration.py89 # Step 1: Access invitation link /j/<code>COMMENT
LOW⚡tests/test_invitation_flow_integration.py101 # Step 2: View pre-wizard stepsCOMMENT
LOW⚡tests/test_invitation_flow_integration.py106 # Step 3: Complete pre-wizard (navigate to last step)COMMENT
LOW⚡tests/test_invitation_flow_integration.py111 # Step 4: Access join page (should now be allowed)COMMENT
LOWtests/test_migrations.py297 # Step 1: Migrate to the latest release version stateCOMMENT
LOW⚡tests/test_migrations.py319 # Step 2: Upgrade from release version to current HEADCOMMENT
LOW⚡tests/test_migrations.py322 # Step 3: Verify the upgrade succeeded and all current tables existCOMMENT
Empty Error Handlers6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHapp/blueprints/public/routes.py587except ValueError:CODE
HIGHapp/utils/session_cache.py106except FileNotFoundError:CODE
HIGHtests/conftest.py170except Exception:CODE
HIGHtests/e2e/test_ldap_admin_login_e2e.py48except Exception:CODE
HIGHtests/e2e/test_ldap_admin_login_e2e.py164except Exception:CODE
HIGHtests/e2e/test_ldap_admin_login_e2e.py216except Exception:CODE
Modern Structural Boilerplate29 hits · 29 pts
SeverityFileLineSnippetContext
LOWapp/tasks/ldap_sync.py6logger = logging.getLogger(__name__)CODE
LOWapp/blueprints/api_keys/__init__.py3__all__ = ["api_keys_bp"]CODE
LOWapp/blueprints/media_common/__init__.py5__all__ = ["register_media_blueprints"]CODE
LOWapp/blueprints/api/__init__.py4__all__ = ["api_bp", "status_bp"]CODE
LOWapp/activity/__init__.py68__all__ = ["ActivityService", "ActivitySession", "ActivitySnapshot", "init_app"]CODE
LOWapp/activity/tracking.py35def set_activity_tracking_enabled(enabled: bool) -> None:CODE
LOWapp/activity/monitoring/collectors/__init__.py16__all__ = [CODE
LOWapp/services/ombi_client.py8__all__ = [CODE
LOWapp/services/wizard_presets.py9__all__ = ["WizardPreset", "create_step_from_preset", "get_available_presets"]CODE
LOWapp/services/wizard_migration.py10logger = logging.getLogger(__name__)CODE
LOWapp/services/library_scanner.py13logger = logging.getLogger(__name__)CODE
LOWapp/services/notifications.py11__all__ = ["notify"]CODE
LOWapp/services/activity/ingestion.py490__all__ = ["ActivityIngestionService"]CODE
LOWapp/services/activity/maintenance.py255__all__ = ["ActivityMaintenanceService"]CODE
LOWapp/services/activity/__init__.py78__all__ = ["ActivityService"]CODE
LOWapp/services/activity/analytics.py486__all__ = ["ActivityAnalyticsService"]CODE
LOWapp/services/ldap/client.py19logger = logging.getLogger(__name__)CODE
LOWapp/services/ldap/user_sync.py11logger = logging.getLogger(__name__)CODE
LOWapp/services/ldap/invitation_ldap.py11logger = logging.getLogger(__name__)CODE
LOWapp/services/historical/__init__.py239 def _update_job(job_id: int, **fields) -> None:CODE
LOWapp/services/historical/__init__.py442__all__ = ["HistoricalDataService"]CODE
LOWapp/services/historical/importers/__init__.py11__all__ = [CODE
LOWapp/services/invitation_flow/__init__.py19__all__ = [CODE
LOWapp/services/companions/__init__.py14__all__ = [CODE
LOWapp/services/media/plex.py538 def update_user(self, info: dict, form: dict) -> None:CODE
LOWapp/services/media/emby.py222 def _set_specific_folders(self, user_id: str, names: list[str]) -> None:CODE
LOW⚡app/services/media/komga.py380 def _set_library_access(self, user_id: str, library_ids: list[str]) -> None:CODE
LOWapp/services/media/jellyfin.py81 def set_policy(self, user_id: str, policy: dict) -> None:CODE
LOWapp/services/media/jellyfin.py480 def _set_specific_folders(self, user_id: str, names: list[str]) -> None:CODE
Fake / Example Data17 hits · 22 pts
SeverityFileLineSnippetContext
LOWapp/forms/ldap.py14 render_kw={"placeholder": "ldap://ldap.example.com:389"},CODE
LOW⚡app/forms/ldap.py25 render_kw={"placeholder": "cn=wizarr,ou=people,dc=example,dc=com"},CODE
LOW⚡app/forms/ldap.py35 render_kw={"placeholder": "ou=people,dc=example,dc=com"},CODE
LOW⚡app/forms/ldap.py41 render_kw={"placeholder": "(uid={username})"},CODE
LOW⚡app/forms/ldap.py47 render_kw={"placeholder": "uid"},CODE
LOW⚡app/forms/ldap.py53 render_kw={"placeholder": "mail"},CODE
LOW⚡app/forms/ldap.py60 render_kw={"placeholder": "inetOrgPerson"},CODE
LOW⚡app/forms/ldap.py67 render_kw={"placeholder": "ou=groups,dc=example,dc=com"},CODE
LOW⚡app/forms/ldap.py73 render_kw={"placeholder": "groupOfUniqueNames"},CODE
LOW⚡app/forms/ldap.py79 render_kw={"placeholder": "uniqueMember"},CODE
LOWapp/forms/api_keys.py15 render_kw={"placeholder": "Enter a descriptive name for this API key"},CODE
LOWtests/test_ldap_admin_auth.py55 "mail": "admin@example.com",CODE
LOWtests/test_ldap_admin_auth.py73 assert admin.email == "admin@example.com"CODE
LOWtests/test_ldap_admin_auth.py117 "mail": "user@example.com",CODE
LOWtests/test_invitation_form_errors.py50 "email": "user@example.com",CODE
LOWtests/test_join_form_validation.py9 "email": "user@example.com",CODE
LOWtests/test_cloudflare_access_auth.py38 "email": "admin@example.com",CODE
AI Slop Vocabulary8 hits · 16 pts
SeverityFileLineSnippetContext
LOWapp/jinja_filters.py182 # If we can't parse it, just return the original truncated stringCOMMENT
MEDIUMapp/blueprints/media_servers/routes.py322 """Return comprehensive statistics for a specific media server."""STRING
MEDIUMapp/templates/user-plex-login.html294 // Populate each row with posters - ensure seamless repetitionCOMMENT
MEDIUMapp/services/media/client_base.py474 """Return comprehensive server statistics including library counts, user activity, etc.STRING
MEDIUMapp/services/media/audiobookshelf.py999 # Try to leverage the preview/thumbnail endpoint if the serverCOMMENT
MEDIUMtests/test_server_name_resolver.py155 """Test comprehensive display name info function."""STRING
MEDIUM.github/workflows/auto-release.yml81 # Group commits by type with comprehensive detectionCOMMENT
MEDIUM.github/actions/calver-automation/action.sh136 # Group commits by type with more comprehensive detectionCOMMENT
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHapp/blueprints/api/models.py146 description="Days until invitation expires (1, 7, 30, or null)",CODE
HIGHtests/e2e/test_invitation_e2e.py560 "document.activeElement.name || document.activeElement.getAttribute('name')"CODE
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHapp/services/wizard_presets.py85Create wizard step content from a preset template. Args: preset_id: ID of the preset to use **kwargSTRING
HIGHapp/services/media/plex_custom.py11Accept a Plex server invitation using the v2 shared_servers API. This replaces the broken acceptInvite() method in STRING
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/test_ldap_client.py49 from ldap3.core.exceptions import LDAPBindErrorCODE
Over-Commented Block7 hits · 6 pts
SeverityFileLineSnippetContext
LOWapp/blueprints/admin/routes.py241 # ------------------------------------------------------------------COMMENT
LOWapp/blueprints/admin/routes.py1241 # fall back to the association table and treat any row withCOMMENT
LOWapp/static/js/plex-oauth.js1// Shared state for the Plex OAuth sign-in flow.COMMENT
LOWapp/templates/plex-oauth-callback.html61 stop("{{ _('Nothing to finish') }}",COMMENT
LOWapp/services/invites.py101COMMENT
LOWapp/services/wizard_seed.py81 # ─── Guard: table might not exist (first run before migrations) ─────────COMMENT
LOWtests/test_wizard_start_redirect.py121COMMENT