Repository Analysis

wizarrrr/wizarr

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

34.0 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of wizarrrr/wizarr, a Python project with 3,086 GitHub stars. SynthScan v2.0 examined 79,386 lines of code across 418 source files, recording 1720 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 34.0 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

34.0
Adjusted Score
34.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
3.1K
Stars
Python
Language
79.4K
Lines of Code
418
Files
1.7K
Pattern Hits
2026-07-14
Scan Date
0.18
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 1HIGH 75MEDIUM 264LOW 1380

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1720 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators200 hits · 698 pts
SeverityFileLineSnippetContext
MEDIUMdocker-entrypoint.sh6# ───────── 1) Create or reuse the chosen UID/GID ──────────COMMENT
MEDIUMdocker-entrypoint.sh61# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-entrypoint.sh63# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-entrypoint.sh68# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocker-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.py581 # ── convenience helpers ─────────────────────────────────────────────COMMENT
MEDIUMapp/models.py596# ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py598# ───────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py1103# ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/models.py1105# ────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/extensions.py179 # ── legacy single-admin token ───────────────────────────────────────────COMMENT
MEDIUMapp/extensions.py183 # ── new multi-admin accounts ───────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/settings/routes.py356# ────────────────────────────────────────────────────────────────────────────STRING
MEDIUMapp/blueprints/settings/routes.py358# ────────────────────────────────────────────────────────────────────────────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.py45 # ── Handle LDAP authentication ─────────────────────────────────────COMMENT
MEDIUMapp/blueprints/auth/routes.py62 # ── 1) Multi-admin accounts (preferred) ────────────────────────────COMMENT
MEDIUMapp/blueprints/auth/routes.py162# ── Logout ────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/setup/routes.py54 # ── Step 1: create admin account ───────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py85# ─── helpers ────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py144 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard/routes.py151 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/wizard/routes.py204 # ─── 1) DB-backed steps ────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py246 # ─── 2) Fallback to bundled markdown files ─────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py940# ─── combined wizard for multi-server invites ─────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py1105# ─── bundle-specific wizard route ──────────────────────────────COMMENT
MEDIUMapp/blueprints/wizard/routes.py525# ─── routes ─────────────────────────────────────────────────────STRING
MEDIUMapp/blueprints/wizard/routes.py1317# ─── bundle preview route (admin) ──────────────────────────────STRING
MEDIUMapp/blueprints/admin/routes.py291 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py293 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py297 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py299 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py304 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py306 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py392 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py394 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py403# ----------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py405# ----------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py237 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py239 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py250 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py252 # ------------------------------------------------------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py537 # ── GET → serve the enhanced modal with server information ────────COMMENT
MEDIUMapp/blueprints/admin/routes.py1153# ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapp/blueprints/admin/routes.py1310 # ----------------------COMMENT
MEDIUMapp/blueprints/admin/routes.py1315 # ----------------------COMMENT
140 more matches not shown…
Hyper-Verbose Identifiers576 hits · 589 pts
SeverityFileLineSnippetContext
LOWapp/models.py284 def update_standardized_metadata(self, details):CODE
LOWapp/extensions.py240def _configure_sqlite_for_concurrency(app):CODE
LOWapp/tasks/maintenance.py59def _get_expiry_check_interval():CODE
LOWapp/tasks/activity.py19def cleanup_old_activity_task(app: Flask, retention_days: int = 90):CODE
LOWapp/tasks/activity.py74def monitor_health_check_task(app: Flask):CODE
LOWapp/tasks/activity.py141def activity_monitoring_heartbeat_task(app: Flask):CODE
LOWapp/tasks/activity.py181def recover_sessions_on_startup_task(app: Flask):CODE
LOWapp/tasks/activity.py208def get_activity_cleanup_interval() -> int:CODE
LOWapp/tasks/activity.py214def get_stale_session_cleanup_interval() -> int:CODE
LOWapp/tasks/activity.py220def get_health_check_interval() -> int:CODE
LOWapp/blueprints/wizard/routes.py256def _gather_steps_with_phases(CODE
LOWapp/blueprints/wizard/routes.py449def _get_server_type_from_invitation(invitation: Invitation) -> str | None:STRING
LOWapp/blueprints/admin/routes.py923def 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.py38def _apply_safe_media_user_policy(CODE
LOWapp/blueprints/api/api_routes.py170def _calculate_invitation_status(invitation):CODE
LOWapp/blueprints/api/api_routes.py109def require_api_key_or_session(f):CODE
LOWapp/activity/api/blueprint.py57def _activity_settings_template() -> str:CODE
LOWapp/activity/api/blueprint.py80def _load_verified_media_servers() -> list:CODE
LOWapp/activity/api/blueprint.py98def _render_activity_settings(CODE
LOWapp/activity/api/blueprint.py135def _settings_action_response(CODE
LOWapp/activity/api/blueprint.py168def _render_historical_jobs_partial(server_id: int | None):CODE
LOWapp/activity/api/blueprint.py188def _delete_all_activity_data() -> int:CODE
LOWapp/activity/api/blueprint.py652def import_historical_activity():CODE
LOWapp/activity/api/blueprint.py719def 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.html246function toggleHistoricalImportAvailability() {CODE
LOWapp/activity/templates/activity/settings_tab.html267function 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.html487 function revealFormWithoutAnimation() {CODE
LOWapp/templates/tables/invite_card.html224 function updateInviteCardSelection() {CODE
LOWapp/services/ombi_client.py27def get_connection_for_server(CODE
LOWapp/services/ombi_client.py36def invite_user_to_connections(CODE
LOWapp/services/ombi_client.py112def delete_user_from_connections(internal_token: str) -> list[dict]: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
LOWapp/services/invitation_manager.py18 def ensure_invitation_identity(CODE
LOWapp/services/invitation_manager.py244 def scan_with_saved_credentials(server_type: str) -> tuple[bool, dict]:CODE
LOWapp/services/wizard_migration.py13def update_wizard_external_url_references() -> tuple[bool, str]:CODE
LOWapp/services/expiry.py46def get_server_specific_expiry(CODE
LOWapp/services/expiry.py69def set_server_specific_expiry(CODE
LOWapp/services/expiry.py148def get_server_disable_capabilities() -> dict[str, bool]:CODE
LOWapp/services/expiry.py167def disable_or_delete_user_if_expired() -> list[int]:CODE
LOWapp/services/expiry.py280def cleanup_expired_user_by_email(email: str) -> None:CODE
LOWapp/services/expiry.py317def get_expiring_this_week_users() -> list[dict]:CODE
LOWapp/services/library_scanner.py21def scan_all_server_libraries(show_logs: bool = True) -> tuple[int, list[str]]:CODE
LOWapp/services/wizard_widgets.py337def process_widget_placeholders(STRING
LOWapp/services/wizard_seed.py68def import_default_wizard_steps() -> None:CODE
516 more matches not shown…
Excessive Try-Catch Wrapping493 hits · 458 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.py108 except Exception as e:CODE
LOWgunicorn.conf.py125 except Exception as e:CODE
LOWgunicorn.conf.py162 except Exception as e:CODE
MEDIUMdev.py48 print(f"Error running command: {' '.join(command)}")CODE
MEDIUMdev.py49 print(f"Error code: {process.returncode}")CODE
LOWdev.py56 except Exception as e:CODE
MEDIUMdev.py57 print(f"Error running command: {' '.join(command)}")CODE
MEDIUMdev.py58 print(f"Error: {e}")CODE
LOWapp/__init__.py65 except Exception as exc:CODE
LOWapp/__init__.py98 except Exception as exc:CODE
LOWapp/__init__.py114 except Exception as exc:CODE
LOWapp/__init__.py135 except Exception as exc:CODE
LOWapp/__init__.py168 except Exception as exc:CODE
LOWapp/extensions.py120 except Exception:CODE
LOWapp/extensions.py134 except Exception as e:CODE
LOWapp/extensions.py158 except Exception as e:CODE
LOWapp/extensions.py267 except Exception:CODE
LOWapp/jinja_filters.py42 except Exception as exc:CODE
LOWapp/jinja_filters.py50 except Exception as exc:CODE
LOWapp/jinja_filters.py56 except Exception:CODE
LOWapp/jinja_filters.py189 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.py41 except Exception as e:CODE
LOWapp/tasks/activity.py69 except Exception as e:CODE
LOWapp/tasks/activity.py136 except Exception as e:CODE
LOWapp/tasks/activity.py169 except Exception as e:CODE
LOWapp/tasks/activity.py176 except Exception as e:CODE
LOWapp/tasks/activity.py203 except Exception as e:CODE
LOWapp/tasks/activity.py285 except Exception as e:CODE
LOWapp/blueprints/settings/routes.py66 except Exception:CODE
LOWapp/blueprints/settings/routes.py233 except Exception as exc:CODE
LOWapp/blueprints/settings/routes.py325 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.py139 except Exception as exc:CODE
LOWapp/blueprints/media_servers/routes.py156 except Exception as exc:CODE
LOWapp/blueprints/media_servers/routes.py403 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py438 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py485 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py532 except Exception as e:CODE
LOWapp/blueprints/media_servers/routes.py580 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py211 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py324 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py715 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py731 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py742 except Exception as e:CODE
LOWapp/blueprints/wizard/routes.py767 except Exception as e:CODE
433 more matches not shown…
Cross-File Repetition71 hits · 355 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
11 more matches not shown…
Self-Referential Comments47 hits · 158 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.py1247 # Create a dict to attach timestamps and sort users to match the pagination orderCOMMENT
MEDIUMapp/blueprints/connections/routes.py173 # 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.py1400 # Create a PlexServer instance with Flask app contextCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py18 # Create a test serverCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py28 # Create a user with an expiry date 3 days from nowCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py58 # Create a test serverCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py68 # Create a user with a timezone-aware expiry date 5 days from nowCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py95 # Create a test serverCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py105 # Create a user that expired 1 day agoCOMMENT
MEDIUMtests/test_expiry_datetime_fix.py129 # Create a test serverCOMMENT
MEDIUMtests/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
MEDIUMtests/test_session_cache.py22 # Create a 0-byte file (the exact scenario from #1180)COMMENT
MEDIUMtests/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
MEDIUMtests/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 Comments78 hits · 116 pts
SeverityFileLineSnippetContext
LOWrecovery_tool.py220 # Check if username already existsCOMMENT
LOWgunicorn.conf.py43 # Set environment to indicate Gunicorn contextCOMMENT
LOWapp/models.py954 # Check if critical fields are UnknownCOMMENT
LOWapp/__init__.py147 # 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.py136 # Check if a MediaServer already existsCOMMENT
LOWapp/blueprints/settings/routes.py569 # 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.py66 # Check if this account has passkeys registered - if so, require 2FACOMMENT
LOWapp/blueprints/auth/routes.py130 # Check if there are any passkeys registered for error pageCOMMENT
LOWapp/blueprints/auth/routes.py145 # Check if there are any passkeys registered for error pageCOMMENT
LOWapp/blueprints/wizard/routes.py75 # Check if this is coming from an invitation processCOMMENT
LOWapp/blueprints/wizard/routes.py726 # Check if this is a multi-server invitationCOMMENT
LOWapp/blueprints/wizard/routes.py822 # Check if user is trying to advance past the final stepCOMMENT
LOWapp/blueprints/wizard/routes.py1026 # Check if we're on the last step and moving forwardCOMMENT
LOWapp/blueprints/wizard/routes.py568 # Check if this is a multi-server invitationSTRING
LOWapp/blueprints/wizard/routes.py637 # Check if user is trying to advance beyond the final stepSTRING
LOWapp/blueprints/connections/routes.py160 # Check if it's just a CSRF errorCOMMENT
LOWapp/blueprints/public/routes.py301 # Check if client has get_movie_posters methodCOMMENT
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
LOWapp/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.py108 # 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.py226 # 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.py38 # 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.py453 # 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.py160 # Check if there are other User records with the same usernameCOMMENT
18 more matches not shown…
Deep Nesting88 hits · 71 pts
SeverityFileLineSnippetContext
LOWrecovery_tool.py65CODE
LOWrecovery_tool.py251CODE
LOWgunicorn.conf.py38CODE
LOWapp/__init__.py12CODE
LOWapp/jinja_filters.py103CODE
LOWapp/tasks/update_check.py16CODE
LOWapp/tasks/maintenance.py9CODE
LOWapp/tasks/activity.py74CODE
LOWapp/tasks/activity.py141CODE
LOWapp/blueprints/api_keys/routes.py33CODE
LOWapp/blueprints/wizard_admin/routes.py541CODE
LOWapp/blueprints/media_servers/routes.py85CODE
LOWapp/blueprints/wizard/routes.py681CODE
LOWapp/blueprints/admin/routes.py227CODE
LOWapp/blueprints/admin/routes.py756CODE
LOWapp/blueprints/admin/routes.py1079CODE
LOWapp/blueprints/admin/routes.py1273CODE
LOWapp/blueprints/public/routes.py114CODE
LOWapp/blueprints/public/routes.py337CODE
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.py286CODE
LOWapp/activity/api/blueprint.py578CODE
LOWapp/activity/monitoring/monitor.py102CODE
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/invites.py68CODE
LOWapp/services/wizard_export_import.py355CODE
LOWapp/services/servers.py23CODE
LOWapp/services/invitation_manager.py91CODE
LOWapp/services/expiry.py167CODE
LOWapp/services/library_scanner.py21CODE
LOWapp/services/wizard_widgets.py156CODE
LOWapp/services/wizard_widgets.py204CODE
LOWapp/services/notifications.py134CODE
LOWapp/services/image_proxy.py234CODE
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
28 more matches not shown…
Unused Imports57 hits · 54 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__.py16CODE
LOWapp/activity/__init__.py16CODE
LOWapp/activity/__init__.py17CODE
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.py24CODE
LOWapp/services/media/komga.py6CODE
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 · 54 pts
SeverityFileLineSnippetContext
LOWapp/__init__.py24 # Step 1: Configure loggingCOMMENT
LOWapp/__init__.py29 # Step 2: Create Flask applicationCOMMENT
LOWapp/__init__.py35 # Step 3: Initialize extensionsCOMMENT
LOWapp/__init__.py40 # Step 4: Register blueprintsCOMMENT
LOWapp/__init__.py68 # Step 5: Setup context processors and filtersCOMMENT
LOWapp/__init__.py88 # Step 6: Initialize wizard stepsCOMMENT
LOWapp/__init__.py102 # Step 7: Run wizard migrationsCOMMENT
LOWapp/__init__.py118 # Step 8: Scan libraries for all media serversCOMMENT
LOWapp/__init__.py143 # Step 9: Initialize Plus features if enabledCOMMENT
LOWapp/__init__.py174 # Step 10: Show scheduler status and complete startupCOMMENT
LOWapp/templates/welcome-jellyfin.html544 // Step 1: Prepare form screen (hidden initially)COMMENT
LOWapp/templates/welcome-jellyfin.html553 // 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
LOWapp/services/media/emby.py174 # Step 1: Create user without passwordCOMMENT
LOWapp/services/media/emby.py178 # Step 2: Set passwordCOMMENT
LOWapp/services/media/drop.py178 # Step 1: Create invitationCOMMENT
LOWapp/services/media/drop.py198 # Step 2: Consume invitation to create userCOMMENT
LOWtests/test_invitation_flow_integration.py89 # Step 1: Access invitation link /j/<code>COMMENT
LOWtests/test_invitation_flow_integration.py101 # Step 2: View pre-wizard stepsCOMMENT
LOWtests/test_invitation_flow_integration.py106 # Step 3: Complete pre-wizard (navigate to last step)COMMENT
LOWtests/test_invitation_flow_integration.py111 # Step 4: Access join page (should now be allowed)COMMENT
LOWtests/test_migrations.py235 # Step 1: Migrate to the latest release version stateCOMMENT
LOWtests/test_migrations.py257 # Step 2: Upgrade from release version to current HEADCOMMENT
LOWtests/test_migrations.py260 # Step 3: Verify the upgrade succeeded and all current tables existCOMMENT
LOWtests/test_wizard_start_redirect.py122 # NOTE: The following tests for invite code redirect are commented outCOMMENT
Verbosity Indicators25 hits · 52 pts
SeverityFileLineSnippetContext
LOWapp/__init__.py24 # Step 1: Configure loggingCOMMENT
LOWapp/__init__.py29 # Step 2: Create Flask applicationCOMMENT
LOWapp/__init__.py35 # Step 3: Initialize extensionsCOMMENT
LOWapp/__init__.py40 # Step 4: Register blueprintsCOMMENT
LOWapp/__init__.py68 # Step 5: Setup context processors and filtersCOMMENT
LOWapp/__init__.py88 # Step 6: Initialize wizard stepsCOMMENT
LOWapp/__init__.py102 # Step 7: Run wizard migrationsCOMMENT
LOWapp/__init__.py118 # Step 8: Scan libraries for all media serversCOMMENT
LOWapp/__init__.py143 # Step 9: Initialize Plus features if enabledCOMMENT
LOWapp/__init__.py174 # Step 10: Show scheduler status and complete startupCOMMENT
LOWapp/templates/welcome-jellyfin.html544 // Step 1: Prepare form screen (hidden initially)COMMENT
LOWapp/templates/welcome-jellyfin.html553 // 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
LOWapp/services/media/emby.py174 # Step 1: Create user without passwordCOMMENT
LOWapp/services/media/emby.py178 # Step 2: Set passwordCOMMENT
LOWapp/services/media/drop.py178 # Step 1: Create invitationCOMMENT
LOWapp/services/media/drop.py198 # Step 2: Consume invitation to create userCOMMENT
LOWtests/test_invitation_flow_integration.py89 # Step 1: Access invitation link /j/<code>COMMENT
LOWtests/test_invitation_flow_integration.py101 # Step 2: View pre-wizard stepsCOMMENT
LOWtests/test_invitation_flow_integration.py106 # Step 3: Complete pre-wizard (navigate to last step)COMMENT
LOWtests/test_invitation_flow_integration.py111 # Step 4: Access join page (should now be allowed)COMMENT
LOWtests/test_migrations.py235 # Step 1: Migrate to the latest release version stateCOMMENT
LOWtests/test_migrations.py257 # Step 2: Upgrade from release version to current HEADCOMMENT
LOWtests/test_migrations.py260 # Step 3: Verify the upgrade succeeded and all current tables existCOMMENT
Modern Structural Boilerplate28 hits · 28 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__.py76__all__ = ["ActivityService", "ActivitySession", "ActivitySnapshot", "init_app"]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.py14logger = 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.py513 def update_user(self, info: dict, form: dict) -> None:CODE
LOWapp/services/media/emby.py200 def _set_specific_folders(self, user_id: str, names: list[str]) -> None:CODE
LOWapp/services/media/komga.py371 def _set_library_access(self, user_id: str, library_ids: list[str]) -> None:CODE
LOWapp/services/media/jellyfin.py78 def set_policy(self, user_id: str, policy: dict) -> None:CODE
LOWapp/services/media/jellyfin.py473 def _set_specific_folders(self, user_id: str, names: list[str]) -> None:CODE
Fake / Example Data16 hits · 20 pts
SeverityFileLineSnippetContext
LOWapp/forms/ldap.py14 render_kw={"placeholder": "ldap://ldap.example.com:389"},CODE
LOWapp/forms/ldap.py25 render_kw={"placeholder": "cn=wizarr,ou=people,dc=example,dc=com"},CODE
LOWapp/forms/ldap.py35 render_kw={"placeholder": "ou=people,dc=example,dc=com"},CODE
LOWapp/forms/ldap.py41 render_kw={"placeholder": "(uid={username})"},CODE
LOWapp/forms/ldap.py47 render_kw={"placeholder": "uid"},CODE
LOWapp/forms/ldap.py53 render_kw={"placeholder": "mail"},CODE
LOWapp/forms/ldap.py60 render_kw={"placeholder": "inetOrgPerson"},CODE
LOWapp/forms/ldap.py67 render_kw={"placeholder": "ou=groups,dc=example,dc=com"},CODE
LOWapp/forms/ldap.py73 render_kw={"placeholder": "groupOfUniqueNames"},CODE
LOWapp/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
AI Slop Vocabulary8 hits · 16 pts
SeverityFileLineSnippetContext
LOWapp/jinja_filters.py124 # If we can't parse it, just return the original truncated stringCOMMENT
MEDIUMapp/blueprints/media_servers/routes.py383 """Return comprehensive statistics for a specific media server."""STRING
MEDIUMapp/templates/user-plex-login.html289 // Populate each row with posters - ensure seamless repetitionCOMMENT
MEDIUMapp/services/media/client_base.py424 """Return comprehensive server statistics including library counts, user activity, etc.STRING
MEDIUMapp/services/media/audiobookshelf.py992 # 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 Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWapp/services/wizard_seed.py81 # ─── Guard: table might not exist (first run before migrations) ─────────COMMENT
LOWtests/test_wizard_start_redirect.py121COMMENT