Repository Analysis

music-assistant/server

Music Assistant is a free, opensource Media library manager that connects to your streaming services and a wide range of connected speakers. The server is the beating heart, the core of Music Assistant and must run on an always-on device like a Raspberry Pi, a NAS or an Intel NUC or alike.

31.1 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of music-assistant/server, a Python project with 3,007 GitHub stars. SynthScan v2.0 examined 699,428 lines of code across 2253 source files, recording 17511 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 31.1 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).

31.1
Adjusted Score
31.1
Raw Score
100%
Time Factor
2026-08-29
Last Push
3.0K
Stars
Python
Language
699.4K
Lines of Code
2.3K
Files
17.5K
Pattern Hits
2026-08-29
Scan Date
0.34
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

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

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 90HIGH 669MEDIUM 783LOW 15969

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 17511 distinct pattern matches across 24 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.

Hyper-Verbose Identifiers12693 hits · 11354 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py57def pytest_report_to_serializable() -> Generator[None, object, object]:CODE
LOWtests/conftest.py70def isolate_models_global_cache() -> Generator[None]:CODE
LOWtests/test_library_sync.py838async def test_set_provider_mappings_overwrite_keeps_existing_when_empty(CODE
LOWtests/test_library_sync.py853async def test_set_provider_mappings_no_mappings_is_noop(mock_controller: Mock) -> None:CODE
LOWtests/test_library_sync.py866async def test_set_provider_mappings_upsert_preserves_null_in_library(CODE
LOWtests/test_library_sync.py91async def test_add_item_to_library_sets_in_library_true() -> None:CODE
LOWtests/test_library_sync.py125async def test_add_item_to_library_sets_in_library_even_when_sync_back_disabled() -> None:CODE
LOWtests/test_library_sync.py159async def test_add_item_to_library_sets_in_library_even_when_edit_not_supported() -> None:CODE
LOWtests/test_library_sync.py191async def test_add_album_imports_tracks_when_enabled() -> None:CODE
LOWtests/test_library_sync.py230async def test_add_album_does_not_import_tracks_when_disabled() -> None:CODE
LOWtests/test_library_sync.py262async def test_add_album_only_imports_tracks_for_added_instance() -> None:CODE
LOWtests/test_library_sync.py313async def test_refresh_item_preserves_in_library_state() -> None:CODE
LOWtests/test_library_sync.py357async def test_refresh_item_preserves_in_library_false() -> None:CODE
LOWtests/test_library_sync.py399async def test_refresh_item_respects_provider_set_in_library() -> None:CODE
LOWtests/test_library_sync.py443async def test_refresh_item_non_library_item_skips_update() -> None:CODE
LOWtests/test_library_sync.py477async def test_sync_library_marks_removed_item_in_library_false() -> None:CODE
LOWtests/test_library_sync.py528async def test_sync_library_deletions_disabled_keeps_item() -> None:CODE
LOWtests/test_library_sync.py572async def test_sync_library_deletion_unmarks_favorite_when_no_other_providers() -> None:CODE
LOWtests/test_library_sync.py602async def test_sync_library_deletion_keeps_favorite_when_other_provider_has_it() -> None:CODE
LOWtests/test_library_sync.py643async def test_sync_library_always_stores_cache_regardless_of_deletion_setting() -> None:CODE
LOWtests/test_library_sync.py675def _create_controller_for_filter_tests() -> Mock:CODE
LOWtests/test_library_sync.py685async def test_apply_filters_in_library_only_without_provider_filter() -> None:CODE
LOWtests/test_library_sync.py717async def test_apply_filters_in_library_only_with_provider_filter() -> None:CODE
LOWtests/test_library_sync.py750async def test_apply_filters_no_in_library_filter_by_default() -> None:CODE
LOWtests/test_library_sync.py774async def test_apply_filters_provider_filter_without_in_library() -> None:CODE
LOWtests/test_library_sync.py822async def test_set_provider_mappings_overwrite_deletes_and_reinserts(CODE
LOWtests/test_library_sync.py887async def test_set_provider_mappings_upsert_writes_explicit_in_library(CODE
LOWtests/test_library_sync.py910async def test_library_items_default_filters_in_library_only() -> None:CODE
LOWtests/test_library_sync.py924async def test_library_items_defaults_to_summary() -> None:CODE
LOWtests/test_library_sync.py937def test_ensure_provider_filter_keeps_plugin_provider_mappings() -> None:CODE
LOWtests/test_library_sync.py958def test_ensure_provider_filter_rejects_unallowed_music_provider() -> None:CODE
LOWtests/test_library_sync.py978def test_ensure_provider_filter_allows_explicit_non_music_provider() -> None:CODE
LOWtests/test_library_sync.py997def test_ensure_provider_filter_does_not_auto_allow_other_non_music_providers() -> None:CODE
LOWtests/test_library_sync.py1020def test_select_provider_id_prefers_allowed_music_over_plugin() -> None:CODE
LOWtests/test_library_sync.py1057def test_select_provider_id_falls_back_to_plugin_when_no_allowed_music() -> None:CODE
LOWtests/test_library_sync.py1094async def test_get_library_item_does_not_filter_in_library() -> None:CODE
LOWtests/test_library_sync.py1114async def test_update_item_in_library_skips_non_music_providers() -> None:CODE
LOWtests/test_library_sync.py1155def _create_event_capture_controller(CODE
LOWtests/test_library_sync.py1174async def test_add_and_update_item_emit_events_outside_sync() -> None:CODE
LOWtests/test_library_sync.py1194async def test_provider_sync_suppresses_per_item_events() -> None:CODE
LOWtests/test_library_sync.py1233async def test_concurrent_add_rechecks_match_inside_lock() -> None:CODE
LOWtests/test_generate_release_notes.py131def test_linear_release_filters_prs_merged_before_previous_tag(CODE
LOWtests/test_generate_release_notes.py156def test_minor_release_with_diverged_previous_tag(CODE
LOWtests/test_generate_release_notes.py207def test_filter_dependency_bumps(generate_notes: types.ModuleType) -> None:CODE
LOWtests/test_generate_release_notes.py226def test_filter_dependency_bumps_drop_all(generate_notes: types.ModuleType) -> None:CODE
LOWtests/test_generate_release_notes.py244def test_write_outputs_hands_notes_over_via_file(CODE
LOWtests/test_generate_release_notes.py265def test_notes_are_shrunk_to_fit_body_limit(CODE
LOWtests/test_generate_release_notes.py317def test_categorize_prs_excludes_title_prefixes(generate_notes: types.ModuleType) -> None:CODE
LOWtests/test_generate_release_notes.py338def test_extract_frontend_changes_skips_lokalise_bullets(CODE
LOWtests/test_numba_cache_isolation.py16def test_numba_kernel_cache_is_process_private(pytestconfig: pytest.Config) -> None:CODE
LOWtests/test_provider_manifests.py54async def test_has_setup_flow_true_when_module_present(CODE
LOWtests/test_provider_manifests.py66async def test_has_setup_flow_false_when_module_absent(CODE
LOWtests/test_provider_manifests.py77async def test_has_setup_flow_ignores_internal_import_errors(CODE
LOWtests/test_dynamic_playlist_framework.py53async def test_update_playlist_metadata_processes_dynamic_playlists() -> None:CODE
LOWtests/test_dynamic_playlist_framework.py87async def test_refresh_playlist_metadata_batch_query_excludes_dynamic_playlists() -> None:CODE
LOWtests/test_dynamic_playlist_framework.py102async def test_refresh_playlist_metadata_batch_reports_corrupt_row_reactively() -> None:CODE
LOWtests/test_dynamic_playlist_framework.py127async def test_refresh_playlist_metadata_batch_clears_stale_corrupt_rows() -> None:CODE
LOWtests/test_dynamic_playlist_framework.py140async def test_refresh_playlist_metadata_batch_reraises_unrelated_db_error() -> None:CODE
LOWtests/test_dynamic_playlist_framework.py228async def test_sync_overwrites_name_for_noneditable_dynamic_playlist() -> None:CODE
LOWtests/test_dynamic_playlist_framework.py243async def test_sync_overwrites_images_for_noneditable_dynamic_playlist() -> None:CODE
12633 more matches not shown…
Cross-File Repetition618 hits · 3090 pts
SeverityFileLineSnippetContext
HIGHtests/test_dynamic_playlist_framework.py0create a bare metadatacontroller without running __init__.STRING
HIGHtests/controllers/metadata/test_album_reconciliation.py0create a bare metadatacontroller without running __init__.STRING
HIGHtests/controllers/metadata/test_metadata_radio.py0create a bare metadatacontroller without running __init__.STRING
HIGHtests/core/test_provider_unload.py0handle logic when the player is unloaded from the player controller.STRING
HIGHtests/controllers/players/test_player_controller.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/wiim/linkplay_player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/wiim/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/fully_kiosk/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/sync_group/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/bose_soundtouch/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/dlna/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGH…sic_assistant/providers/roku_media_assistant/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/chromecast/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/sonos_s1/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/airplay/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/sendspin/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGH…ic_assistant/providers/_demo_player_provider/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/universal_group/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/providers/sonos/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHmusic_assistant/models/player.py0handle logic when the player is unloaded from the player controller.STRING
HIGHtests/providers/neteasecloudmusic/test_setup_flow.py0build a real setupsession backed by a mock mass for driving run_setup directly.STRING
HIGHtests/providers/audible/test_setup_flow.py0build a real setupsession backed by a mock mass for driving run_setup directly.STRING
HIGHtests/providers/pandora/test_setup_flow.py0build a real setupsession backed by a mock mass for driving run_setup directly.STRING
HIGHtests/providers/yandex_music/test_setup_flow.py0build a real setupsession backed by a mock mass for driving run_setup directly.STRING
HIGHtests/providers/neteasecloudmusic/test_setup_flow.py0return the flow steps pushed through mass.signal_event, in order.STRING
HIGHtests/providers/yandex_music/test_setup_flow.py0return the flow steps pushed through mass.signal_event, in order.STRING
HIGHtests/providers/yandex_ynison/test_setup_flow.py0return the flow steps pushed through mass.signal_event, in order.STRING
HIGHtests/providers/airplay/test_setup_flow.py0return the flow steps pushed through mass.signal_event, in order.STRING
HIGHtests/providers/neteasecloudmusic/test_setup_flow.py0wait until the predicate returns truthy (or fail the test).STRING
HIGHtests/providers/audible/test_setup_flow.py0wait until the predicate returns truthy (or fail the test).STRING
HIGHtests/providers/yandex_music/test_setup_flow.py0wait until the predicate returns truthy (or fail the test).STRING
HIGHtests/providers/yandex_ynison/test_setup_flow.py0wait until the predicate returns truthy (or fail the test).STRING
HIGHtests/providers/yandex_station/test_setup_flow.py0wait until the predicate returns truthy (or fail the test).STRING
HIGHtests/providers/pandora/test_setup_flow.py0wait until the predicate returns truthy (or fail the test).STRING
HIGHtests/providers/ytmusic/test_ytmusic.py0build a fake async context manager mimicking aiohttp's session.get().STRING
HIGHtests/providers/lrclib/test_lrclib.py0build a fake async context manager mimicking aiohttp's session.get().STRING
HIGHtests/providers/filesystem_onedrive/test_provider.py0build a fake async context manager mimicking aiohttp's session.get().STRING
HIGHtests/providers/audiobookshelf/test_recommendations.py0back @use_cache with a dict store; return the background store tasks.STRING
HIGHtests/providers/bbc_sounds/test_recommendations.py0back @use_cache with a dict store; return the background store tasks.STRING
HIGHtests/providers/soundcloud/test_recommendations.py0back @use_cache with a dict store; return the background store tasks.STRING
HIGHtests/providers/apple_music/test_recommendations.py0an item_id not present in the payload yields an empty uniquelist.STRING
HIGHtests/providers/bbc_sounds/test_recommendations.py0an item_id not present in the payload yields an empty uniquelist.STRING
HIGHtests/models/test_recommendation_payload.py0an item_id not present in the payload yields an empty uniquelist.STRING
HIGHtests/providers/hass/test_provider.py0provide the slice of the cache controller that @use_cache relies on.STRING
HIGHtests/providers/hass/test_device_correlation.py0provide the slice of the cache controller that @use_cache relies on.STRING
HIGHtests/providers/hass/test_control_entity_search.py0provide the slice of the cache controller that @use_cache relies on.STRING
HIGHtests/providers/hass/test_provider.py0return the (data, is_fresh, found) triplet for the given key.STRING
HIGHtests/providers/hass/test_device_correlation.py0return the (data, is_fresh, found) triplet for the given key.STRING
HIGHtests/providers/hass/test_control_entity_search.py0return the (data, is_fresh, found) triplet for the given key.STRING
HIGH…endation_override/test_demo_recommendation_override.py0construct a minimal provider with stubbed mass/manifest/config.STRING
HIGH…roviders/_demo_plugin_provider/test_recommendations.py0construct a minimal provider with stubbed mass/manifest/config.STRING
HIGHtests/models/test_provider.py0construct a minimal provider with stubbed mass/manifest/config.STRING
HIGHtests/controllers/music/test_recommendations_items.py0construct a minimal provider with stubbed mass/manifest/config.STRING
HIGH…sts/controllers/music/test_recommendations_timeouts.py0construct a minimal provider with stubbed mass/manifest/config.STRING
HIGHtests/providers/tunein/test_recommendations.py0make the @use_cache decorator treat every call as a cache miss.STRING
HIGHtests/providers/deezer/test_recommendations.py0make the @use_cache decorator treat every call as a cache miss.STRING
HIGHtests/providers/nicovideo/test_recommendations.py0make the @use_cache decorator treat every call as a cache miss.STRING
HIGHtests/providers/musicme/test_recommendations.py0make the @use_cache decorator treat every call as a cache miss.STRING
HIGHtests/providers/opensubsonic/test_recommendations.py0make the @use_cache decorator treat every call as a cache miss.STRING
HIGHtests/providers/kion_music/test_recommendations.py0make the @use_cache decorator treat every call as a cache miss.STRING
558 more matches not shown…
Decorative Section Separators687 hits · 2467 pts
SeverityFileLineSnippetContext
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py199# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py201# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py273# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py275# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py491# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py493# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py513# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py515# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py570# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py572# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py596# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py598# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py737# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py739# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py916# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py918# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py964# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py966# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py1541# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py1543# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py302# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py304# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py1197# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py1199# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py1569# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/mammamiradio/test_mammamiradio.py1571# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py180# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py182# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py266# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py268# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py80# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py82# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py147# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py305# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/apple_music/test_api_client.py307# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_notifier.py121# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_notifier.py123# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py192# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py194# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py159# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py161# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py252# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py254# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py267# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py269# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py402# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_handlers.py404# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py134# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py136# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py241# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py243# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py263# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py265# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py421# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py423# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py524# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/providers/yandex_smarthome/test_direct.py526# ---------------------------------------------------------------------------COMMENT
627 more matches not shown…
Unused Imports1535 hits · 1450 pts
SeverityFileLineSnippetContext
LOWtests/test_library_sync.py3CODE
LOWtests/test_generate_release_notes.py3CODE
LOWtests/test_numba_cache_isolation.py3CODE
LOWtests/test_provider_manifests.py3CODE
LOWtests/test_dynamic_playlist_framework.py3CODE
LOWtests/test_cross_type_features.py3CODE
LOWtests/test_websocket_client.py3CODE
LOWtests/core/test_diagnostics.py3CODE
LOWtests/core/test_provider_unload.py3CODE
LOWtests/core/test_provider_post_load.py3CODE
LOWtests/core/test_provider_load_retry.py3CODE
LOWtests/core/test_audio_analysis_failures.py3CODE
LOWtests/core/test_ci_test_scope.py3CODE
LOWtests/integration/test_library_summary_items.py12CODE
LOWtests/integration/test_background_scan_streaming.py3CODE
LOWtests/integration/test_dynamic_mode_e2e.py11CODE
LOWtests/integration/test_dynamic_mode_e2e.py23CODE
LOWtests/integration/test_dynamic_mode_e2e.py29CODE
LOWtests/integration/test_dynamic_mode_e2e.py29CODE
LOWtests/integration/conftest.py10CODE
LOWtests/integration/conftest.py23CODE
LOWtests/integration/test_demo_group_e2e.py9CODE
LOWtests/integration/test_no_change_resync.py10CODE
LOWtests/integration/test_smart_shuffle_e2e.py10CODE
LOWtests/integration/test_smart_shuffle_e2e.py26CODE
LOWtests/integration/test_smart_shuffle_e2e.py31CODE
LOWtests/integration/test_smart_shuffle_e2e.py31CODE
LOWtests/integration/test_dynamic_radio_e2e.py11CODE
LOWtests/integration/test_album_play_credit_e2e.py9CODE
LOWtests/integration/test_album_play_credit_e2e.py17CODE
LOWtests/integration/test_album_play_credit_e2e.py22CODE
LOWtests/integration/test_album_play_credit_e2e.py22CODE
LOWtests/integration/test_radio_playlist_e2e.py9CODE
LOWtests/integration/test_radio_playlist_e2e.py18CODE
LOWtests/integration/test_radio_playlist_e2e.py21CODE
LOWtests/integration/test_managed_pool_e2e.py10CODE
LOWtests/integration/test_managed_pool_e2e.py27CODE
LOWtests/integration/test_managed_pool_e2e.py33CODE
LOWtests/integration/test_managed_pool_e2e.py33CODE
LOWtests/providers/neteasecloudmusic/test_setup_flow.py3CODE
LOWtests/providers/neteasecloudmusic/conftest.py3CODE
LOW…sts/providers/neteasecloudmusic/test_library_tracks.py3CODE
LOW…s/neteasecloudmusic/test_library_listing_validation.py3CODE
LOWtests/providers/neteasecloudmusic/test_image_urls.py3CODE
LOW…ts/providers/neteasecloudmusic/test_recommendations.py3CODE
LOWtests/providers/wiim/test_grouping.py3CODE
LOWtests/providers/wiim/test_linkplay.py3CODE
LOWtests/providers/openai_tts/test_openai_tts.py3CODE
LOW…sts/providers/hass_players/test_native_import_guard.py3CODE
LOWtests/providers/hass_players/test_external_playback.py3CODE
LOWtests/providers/local_audio/test_retired.py3CODE
LOWtests/providers/mammamiradio/test_mammamiradio.py3CODE
LOWtests/providers/fully_kiosk/test_setup_flow.py3CODE
LOWtests/providers/fully_kiosk/test_dashboard.py3CODE
LOWtests/providers/ytmusic/test_ytmusic.py3CODE
LOWtests/providers/ytmusic/test_recommendations.py3CODE
LOWtests/providers/teddycloud/test_provider.py3CODE
LOWtests/providers/bandcamp/conftest.py3CODE
LOWtests/providers/bandcamp/test_ids.py3CODE
LOWtests/providers/sync_group/test_sync_group.py3CODE
1475 more matches not shown…
Hallucination Indicators90 hits · 1050 pts
SeverityFileLineSnippetContext
CRITICALtests/test_library_sync.py834 mock_controller.mass.music.database.delete.assert_called_once()CODE
CRITICALtests/test_library_sync.py835 mock_controller.mass.music.database.upsert_many.assert_called_once()CODE
CRITICALtests/test_library_sync.py848 mock_controller.mass.music.database.delete.assert_not_called()CODE
CRITICALtests/test_library_sync.py849 mock_controller.mass.music.database.upsert_many.assert_not_called()CODE
CRITICALtests/test_library_sync.py861 mock_controller.mass.music.database.delete.assert_not_called()CODE
CRITICALtests/test_library_sync.py862 mock_controller.mass.music.database.upsert_many.assert_not_called()CODE
CRITICALtests/providers/msx_bridge/test_party_qr_cover.py350 assert mass_mock.http_session.get.call_args.kwargs.get("allow_redirects") is FalseCODE
CRITICALtests/providers/filesystem/test_nfo_resolution.py626 provider.mass.music.artists.get_library_item_by_external_id.assert_awaited_once_with(CODE
CRITICALtests/providers/filesystem/test_metadata_file_cache.py645 provider.mass.music.artists.get_library_artist_tracks.assert_awaited_once_with(CODE
CRITICALtests/providers/filesystem/test_metadata_file_cache.py689 provider.mass.music.artists.get_library_artist_albums.assert_awaited_once_with(CODE
CRITICALtests/providers/filesystem/test_metadata_file_cache.py692 provider.mass.music.albums.get_library_album_tracks.assert_awaited_once_with(CODE
CRITICALtests/providers/filesystem/test_parse_playlist_line.py154 fs_provider.mass.music.tracks.get_library_item_by_prov_id.assert_awaited_once() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sound_effects.py78 provider.mass.music.database.get_rows_from_query.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sound_effects.py150 provider.mass.music.tracks.get_library_item_by_prov_id.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sound_effects.py175 provider.mass.music.tracks.get_library_item_by_prov_id.assert_awaited_once_with(CODE
CRITICALtests/providers/filesystem/test_sync_config.py96 provider.mass.music.database.get_rows_from_query.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sync_config.py103 provider.mass.music.database.get_rows_from_query.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sync_config.py110 provider.mass.music.database.get_rows_from_query.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sync_config.py127 provider.mass.music.tracks.add_item_to_library.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sync_config.py150 provider.mass.music.tracks.add_item_to_library.assert_called_once()CODE
CRITICALtests/providers/filesystem/test_sync_config.py163 provider.mass.music.playlists.add_item_to_library.assert_not_called() # type: ignore[attr-defined]CODE
CRITICALtests/providers/filesystem/test_sync_config.py181 provider.mass.music.playlists.add_item_to_library.assert_called_once()CODE
CRITICALtests/providers/filesystem/test_sync_config.py204 provider.mass.music.audiobooks.add_item_to_library.assert_called_once()CODE
CRITICALtests/providers/filesystem/test_sync_config.py228 provider.mass.music.podcasts.add_item_to_library.assert_called_once()CODE
CRITICALtests/providers/airplay/test_announce.py261 player.mass.streams.announcement_renderer.release.assert_awaited_once()CODE
CRITICALtests/providers/airplay/test_announce.py221 leader.mass.streams.announcement_renderer.release.assert_awaited_once()CODE
CRITICALtests/providers/airplay/test_announce.py806 player.mass.streams.announcement_renderer.release.assert_awaited_once()CODE
CRITICALtests/providers/airplay/test_stream.py227 player.provider.mass.streams.get_publish_ip.assert_called_once_with("192.168.1.50")CODE
CRITICALtests/providers/airplay/test_stream.py2029 player.provider.mass.config.set_raw_player_config_value.assert_not_called()CODE
CRITICALtests/providers/airplay/test_stream.py2064 player.provider.mass.config.set_raw_player_config_value.assert_not_called()CODE
CRITICALtests/providers/airplay/test_stream.py2075 pinned_player.provider.mass.config.set_raw_player_config_value.assert_not_called()CODE
CRITICALtests/providers/airplay/test_stream.py2092 player.provider.mass.config.set_raw_player_config_value.assert_not_called()CODE
CRITICALtests/providers/airplay/test_stream.py2167 player.provider.mass.config.set_raw_player_config_value.assert_not_called()CODE
CRITICALtests/providers/opensubsonic/test_provider.py119 provider.mass.streams.audio_analysis.set_track_loudness.assert_awaited_once_with(CODE
CRITICALtests/providers/opensubsonic/test_provider.py139 provider.mass.streams.audio_analysis.set_track_loudness.assert_awaited_once_with(CODE
CRITICALtests/providers/sendspin/test_playback_processing.py56 player.mass.streams.audio_processing.update_output.assert_called_once_with(CODE
CRITICALtests/providers/builtin/test_infinite_mix.py94 provider.mass.music.tracks.library_items.assert_called_once_with(CODE
CRITICALtests/providers/builtin/test_infinite_mix.py111 provider.mass.music.tracks.library_items.assert_called_once_with(CODE
CRITICALtests/providers/builtin/test_infinite_mix.py161 provider.mass.music.tracks.library_items.assert_called_once_with(CODE
CRITICALtests/providers/tidal/test_streaming.py480 provider_mock.mass.music.tracks.update_provider_mapping.assert_awaited_once()CODE
CRITICALtests/providers/tidal/test_streaming.py481 provider_mock.mass.music.tracks.update_provider_mapping.assert_awaited_with(CODE
CRITICALtests/providers/tidal/test_streaming.py410 provider_mock.mass.music.tracks.update_provider_mapping.assert_not_called()CODE
CRITICALtests/providers/tidal/test_streaming.py430 provider_mock.mass.music.tracks.update_provider_mapping.assert_not_called()CODE
CRITICALtests/providers/tidal/test_streaming.py454 provider_mock.mass.music.tracks.update_provider_mapping.assert_not_called()CODE
CRITICALtests/controllers/music/test_sync_resilience.py213 mass.music.get_controller.return_value.set_provider_mappings.assert_not_called()CODE
CRITICALtests/controllers/music/test_sync_resilience.py225 mass.music.get_controller.return_value.get_library_item.assert_awaited_once_with(99)CODE
CRITICALtests/controllers/music/test_sync_resilience.py538 mass.music.get_controller.return_value.get_library_item.assert_not_called()CODE
CRITICALtests/controllers/music/test_sync_resilience.py154 mass.music.get_controller.return_value.get_library_item.assert_awaited_once_with(99)CODE
CRITICALtests/controllers/music/test_sync_resilience.py505 mass.music.get_controller.return_value.get_library_item.assert_awaited_once_with(99)CODE
CRITICALtests/controllers/music/test_sync_resilience.py590 mass.music.get_controller.return_value.get_library_item.assert_awaited_once_with(99)CODE
CRITICAL…/controllers/streams/test_audio_analysis_controller.py657 provider.mass.streams.audio_analysis.get_audio_analysis_version.assert_awaited_once_with(CODE
CRITICALtests/controllers/streams/test_live_announcements.py415 harness.mass.webserver.auth.authenticate_with_token.assert_not_called()CODE
CRITICALtests/controllers/player_queues/test_stop_teardown.py76 fake.mass.streams.audio_processing.clear.assert_called_once_with("q", "sess-1")CODE
CRITICALtests/controllers/player_queues/test_stop_teardown.py95 fake.mass.streams.audio_processing.clear.assert_called_once_with("q", "sess-1")CODE
CRITICALtests/controllers/player_queues/test_stop_teardown.py134 fake.mass.streams.audio_processing.clear.assert_not_called()CODE
CRITICALtests/controllers/player_queues/test_autoplay.py128 queues.mass.music.tracks.library_items.assert_awaited_once()CODE
CRITICAL…ts/controllers/player_queues/test_autoplay_dispatch.py237 queues.mass.music.audiobooks.get_collection.assert_not_called()CODE
CRITICALtests/controllers/metadata/test_enrichment.py62 enrichment.mass.music.albums.update_item_in_library.assert_awaited_once()CODE
CRITICAL…rollers/metadata/test_playlist_metadata_integration.py225 enrichment.mass.music.playlists.update_item_in_library.assert_called_once()CODE
CRITICALtests/helpers/test_util.py238 socket_mock.return_value.__enter__.return_value.bind.assert_called_once_with((host, 38800))CODE
30 more matches not shown…
Excessive Try-Catch Wrapping724 hits · 719 pts
SeverityFileLineSnippetContext
LOWtests/core/test_diagnostics.py170 except Exception:CODE
LOWtests/providers/nicovideo/test_converters.py128 except Exception as e:CODE
LOWtests/providers/nicovideo/test_converters.py150 except Exception as e:CODE
LOWtests/controllers/config/test_setup_flows.py528 except Exception as err:CODE
LOWtests/controllers/streams/test_get_media_stream.py254 except Exception as err:CODE
MEDIUMmusic_assistant/mass.py1416def _on_provider_loaded() -> None:CODE
LOWmusic_assistant/mass.py199 except Exception as err:CODE
LOWmusic_assistant/mass.py376 except Exception:CODE
LOWmusic_assistant/mass.py904 except Exception as exc:CODE
LOWmusic_assistant/mass.py921 except Exception as exc:CODE
LOWmusic_assistant/mass.py947 except Exception as exc:CODE
LOWmusic_assistant/mass.py1008 except Exception as exc:CODE
LOWmusic_assistant/mass.py1081 except Exception as err:CODE
LOWmusic_assistant/mass.py1392 except Exception:CODE
LOWmusic_assistant/mass.py1398 except Exception as unload_err:CODE
LOWmusic_assistant/mass.py1419 except Exception as err:CODE
LOWmusic_assistant/mass.py1475 except Exception as exc:CODE
LOWmusic_assistant/providers/wiim/provider.py139 except Exception:CODE
LOWmusic_assistant/providers/wiim/provider.py160 except Exception:CODE
LOWmusic_assistant/providers/wiim/player.py211 except Exception:CODE
LOWmusic_assistant/providers/openai_tts/__init__.py100 except Exception:CODE
LOWmusic_assistant/providers/hass_players/helpers.py139 except Exception as exc:CODE
LOWmusic_assistant/providers/ytmusic/__init__.py805 except Exception as err:CODE
LOWmusic_assistant/providers/vban_receiver/provider.py215 except Exception as err:CODE
LOWmusic_assistant/providers/sync_group/player.py1167 except Exception as err:CODE
LOWmusic_assistant/providers/apple_music/library.py357 except Exception as err:CODE
LOWmusic_assistant/providers/smart_fades/provider.py591 except Exception as err:CODE
LOWmusic_assistant/providers/yandex_smarthome/cloud.py69 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/cloud.py142 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/cloud.py151 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/device.py564 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/playlists.py44 except Exception as exc:CODE
LOW…sistant/providers/yandex_smarthome/ma_authenticator.py74 except Exception as exc:CODE
LOWmusic_assistant/providers/yandex_smarthome/notifier.py206 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/notifier.py305 except Exception as exc:CODE
LOWmusic_assistant/providers/yandex_smarthome/notifier.py337 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/notifier.py368 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/handlers.py73 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/handlers.py103 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/plugin.py93 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/plugin.py418 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/plugin.py431 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py179 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py234 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py246 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py265 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py277 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py289 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py302 except Exception:CODE
LOWmusic_assistant/providers/yandex_smarthome/direct.py369 except Exception:CODE
LOW…sic_assistant/providers/yandex_smarthome/setup_flow.py518 except Exception as err:CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py83 except Exception as err:CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py190 except Exception as err:CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py238 except Exception as err:CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py252 except Exception as err:CODE
LOWmusic_assistant/providers/airplay_receiver/provider.py332 except Exception as err:CODE
LOWmusic_assistant/providers/airplay_receiver/provider.py897 except Exception as err:CODE
LOWmusic_assistant/providers/zvuk_music/provider.py547 except Exception as err:CODE
LOWmusic_assistant/providers/jellyfin/__init__.py128 except Exception as err:CODE
LOWmusic_assistant/providers/playlist_metadata/__init__.py420 except Exception as err:CODE
664 more matches not shown…
Modern Structural Boilerplate351 hits · 356 pts
SeverityFileLineSnippetContext
LOWtests/providers/bose_soundtouch/test_config.py72 def _update_config_value(self, key: str, value: Any, immediate: bool = False) -> None:CODE
LOWtests/providers/musicbrainz/test_recommendations.py87def _set_library(provider_mock: Mock, artists: list[Artist]) -> None:CODE
LOWtests/providers/fastmcp_server/test_e2e_hotswap.py62def _set_config_values(cfg: MagicMock, **overrides: Any) -> None:CODE
LOWtests/providers/snapcast/conftest.py34 def set_callback(self, cb: Any) -> None:CODE
LOWtests/providers/soundcloud/test_setup.py18def _setup_values(provider: SoundcloudMusicProvider, **values: str) -> None:CODE
LOWtests/providers/sonos_s1/test_player.py191def _set_transport_state(sonos_player: SonosPlayer, state: str) -> None:CODE
LOWtests/providers/sonos_s1/test_player.py196def _set_track_info(sonos_player: SonosPlayer, uri: str, position: str = "") -> None:CODE
LOWtests/providers/yandex_ynison/test_ynison_client.py451 def _setup_ws(self, client: YnisonClient) -> None:CODE
LOWtests/providers/yandex_ynison/test_ynison_client.py748 def _setup_ws(self, client: YnisonClient) -> None:CODE
LOWtests/providers/yandex_ynison/test_ynison_client.py1393 async def set_stop(*_args: Any, **_kwargs: Any) -> None:CODE
LOWtests/providers/airplay/test_sendspin_bridge.py299def _settle_anchor(bridge: SendspinAirPlayBridge) -> None:CODE
LOWtests/providers/sendspin/test_setup_flow.py223 async def set_trusted_unpaired(self, client_id: str, enabled: bool) -> None:CODE
LOWtests/providers/sendspin/test_bridge_manager.py472 def set_raw(player_id: str, key: str, value: Any) -> None:CODE
LOWtests/providers/sendspin_source/test_provider.py449async def _settle() -> None:CODE
LOWtests/providers/sonos/test_provider.py118 async def _setup_player(*_args: object) -> None:CODE
LOWtests/providers/ai_radio/test_runtime.py116def _set_runtime_mass(runtime: AIRadioRuntimeMixin, mass: Any) -> None:CODE
LOWtests/providers/ai_radio/test_runtime.py1527 async def _set_shuffle(_queue_id: str, _shuffle_enabled: bool) -> None:CODE
LOWtests/providers/ai_radio/test_runtime.py2127 async def _set_shuffle(queue_id: str, shuffle_enabled: bool) -> None:CODE
LOWtests/providers/ai_radio/test_queue_dj.py82 def update_items(self, queue_id: str, queue_items: list[Any]) -> None:CODE
LOW…sts/providers/spotify_connect/test_backend_contract.py142 async def set_volume(self, volume: int) -> None:CODE
LOW…sts/providers/spotify_connect/test_backend_contract.py159 async def set_shuffle(self, enabled: bool) -> None:CODE
LOW…sts/providers/spotify_connect/test_backend_contract.py163 async def set_repeat(self, repeat: RepeatMode) -> None:CODE
LOWtests/providers/spotify_connect/test_soloist_backend.py97 async def set_volume(self, volume_pct: float) -> None:CODE
LOWtests/models/test_player_icons.py209def _set_up_config_player(mass: MusicAssistant) -> None:CODE
LOWtests/controllers/music/test_genres.py1570async def _set_track_genres(mass: MusicAssistant, track_id: int, genres: list[str]) -> None:CODE
LOWtests/controllers/music/test_genres.py124async def _set_podcast_genres(mass: MusicAssistant, podcast_id: int, genres: list[str]) -> None:CODE
LOWtests/controllers/music/test_genres.py1581async def _set_album_genres(mass: MusicAssistant, album_id: int, genres: list[str]) -> None:CODE
LOWtests/controllers/config/test_setup_flows.py1345def _set_player_conf(flow_mass: MusicAssistant, player: MockPlayer) -> None:CODE
LOWtests/controllers/config/test_save_scheduling.py54def _set_without_delay(controller: ConfigController, key: str, value: Any) -> None:CODE
LOWtests/controllers/config/test_remove_player_config.py81 def set_protocol_parent_id(self, parent_id: str | None) -> None:CODE
LOWtests/controllers/players/test_player_controller.py1154def _set_play_media_override(mock_mass: MagicMock, value: bool) -> None:CODE
LOWtests/controllers/players/test_player_controller.py3019 def _set_limits(mock_mass: MagicMock, min_volume: int, max_volume: int) -> None:CODE
LOWtests/controllers/players/test_player_controller.py5797 async def _set_members(**kwargs: list[str]) -> None:CODE
LOWtests/controllers/players/test_live_source_selection.py123 async def _settle() -> None:CODE
LOWtests/controllers/players/test_live_source_dispatch.py276 async def set_shuffle(self, shuffle_enabled: bool) -> None:CODE
LOWtests/controllers/players/test_live_source_dispatch.py279 async def set_repeat(self, repeat_mode: RepeatMode) -> None:CODE
LOWtests/helpers/test_scrobbler.py36 async def _update_now_playing(self, report: MediaItemPlaybackProgressReport) -> None:CODE
LOWtests/helpers/test_scrobbler.py200 async def _update_now_playing(self, report: MediaItemPlaybackProgressReport) -> None:CODE
LOWtests/helpers/test_throttle_retry.py38 def set_side_effects(self, effects: Sequence[Exception | str]) -> None:CODE
LOWmusic_assistant/mass.py1496 async def _update_available_providers_cache(self) -> None:CODE
LOWmusic_assistant/mass.py1520 async def _setup_storage(self) -> None:CODE
LOWmusic_assistant/mass.py1527 def _set_state(self, new_state: CoreState) -> None:CODE
LOWmusic_assistant/__main__.py279 def _set_stop() -> None:CODE
LOWmusic_assistant/providers/wiim/player.py435 def _update_ma_state_from_sdk_cache(self) -> None:CODE
LOWmusic_assistant/providers/hass_players/provider.py210 def update_player_from_state_msg(entity_id: str, state: CompressedState) -> None:CODE
LOWmusic_assistant/providers/hass_players/player.py367 def update_from_compressed_state(self, state: CompressedState) -> None:CODE
LOWmusic_assistant/providers/hass_players/player.py379 def _update_hass_features(self, hass_supported_features: MediaPlayerEntityFeature) -> None:CODE
LOWmusic_assistant/providers/hass_players/player.py404 def _update_attributes(self, attributes: dict[str, Any]) -> None:CODE
LOWmusic_assistant/providers/sync_group/player.py1025 def _update_attributes(self) -> None:CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py1887 async def _set_playlog_from_user(self, user: User) -> None:CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py1900 async def _set_playlog_from_user_sync(self, progresses: list[MediaProgress]) -> None:CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py1964 async def _update_playlog_book(self, progress: MediaProgress) -> None:CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py1987 async def _update_playlog_episode(self, progress: MediaProgress) -> None:CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py2009 async def _update_book_narrators(self, library_id: str) -> None:CODE
LOWmusic_assistant/providers/apple_music/library.py212 async def set_favorite(self, prov_item_id: str, media_type: MediaType, favorite: bool) -> None:CODE
LOWmusic_assistant/providers/apple_music/provider.py248 async def set_favorite(self, prov_item_id: str, media_type: MediaType, favorite: bool) -> None:CODE
LOWmusic_assistant/providers/apple_music/__init__.py22__all__ = ["AppleMusicProvider", "setup"]CODE
LOW…ic_assistant/providers/apple_music/helpers/__init__.py6__all__ = [CODE
LOWmusic_assistant/providers/bose_soundtouch/provider.py88 async def update_config(self, config: ProviderConfig, changed_keys: set[str]) -> None:CODE
LOWmusic_assistant/providers/bose_soundtouch/player.py113 def set_static_attributes(self, info: Info) -> None:CODE
291 more matches not shown…
Cross-Language Confusion44 hits · 274 pts
SeverityFileLineSnippetContext
HIGHtests/providers/mammamiradio/test_mammamiradio.py1122 """session_state stopped/empty_queue (now_playing null) renders the station name."""STRING
HIGHtests/providers/spotify/test_playback_auth.py234 ('{"username": null, "auth_data": "blob"}', "u1", False),CODE
HIGHtests/providers/milkdrop_visualizer/test_tap.py369 queue.push(b"first")CODE
HIGHtests/providers/milkdrop_visualizer/test_tap.py370 queue.push(b"second")CODE
HIGHtests/providers/milkdrop_visualizer/test_tap.py371 queue.push('{"type": "stream/clear"}')CODE
HIGHtests/providers/milkdrop_visualizer/test_tap.py379 queue.push('{"type": "stream/start"}')CODE
HIGHtests/providers/milkdrop_visualizer/test_tap.py380 queue.push('{"type": "stream/clear"}')CODE
HIGHtests/providers/milkdrop_visualizer/test_tap.py381 queue.push(b"frame")CODE
HIGHtests/controllers/music/test_music_migrations.py311 1: ("smart_fades", '{"spectral_centroid": [1.5, null, 2.5, null], "bpm": 120}'),CODE
HIGHtests/controllers/music/test_music_migrations.py314 3: ("other_domain", '{"spectral_centroid": [null], "bpm": 100}'),CODE
HIGHtests/controllers/music/test_music_migrations.py318 5: ("smart_fades", '{"spectral_centroid": null, "bpm": 90}'),CODE
HIGHtests/helpers/test_json.py97 ({"a": [1, 2], "b": {"c": None}}, '{"a":[1,2],"b":{"c":null}}'),CODE
HIGHmusic_assistant/providers/yousee/media.py247 tracks(first: $first, after: null, orderBy: POPULARITY) {CODE
HIGHmusic_assistant/providers/msx_bridge/http_server.py704 params.push('sendspin=1');CODE
HIGHmusic_assistant/providers/msx_bridge/http_server.py710 params.push(boxes[i].getAttribute('data-kiosk-param') + '=0');CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py175 info: null,CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py176 sessionToken: null,CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py177 selectedClientId: null,CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py184 setupCallback: null,CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py189 if (cachedTokens && typeof cachedTokens === "object") state.tokens = cachedTokens;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py324 if (!value || !value.startsWith("/")) return null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py327 if (callback.origin !== window.location.origin) return null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py328 if (!/\\/setup_flow\\/callback\\/[a-f0-9]+$/.test(callback.pathname)) return null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py331 return null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py336 if (!state.setupCallback || state.setupCallbackSent) return;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py365 if (!c || !state.lastSnippet) return null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py367 try { parsed = JSON.parse(state.lastSnippet); } catch (_) { return null; }CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py368 const inner = (parsed.mcpServers && parsed.mcpServers.ma) || null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py368 const inner = (parsed.mcpServers && parsed.mcpServers.ma) || null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py369 if (!inner) return null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py204 let data = null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py305 state.sessionToken = null;CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py313 showMsg((data && data.error) || ("HTTP " + res.status), "bad");CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py351 if (navigator.clipboard && navigator.clipboard.writeText) {CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py442 showMsg((data && data.error) || "Sign-in failed.", "bad");CODE
HIGH…sic_assistant/providers/fastmcp_server/connect/page.py453 showMsg("Signed in as " + (data.user && data.user.username || "user") + ".", "good");CODE
HIGHmusic_assistant/providers/airplay/provider.py635 # one resolves (first) is undefined, so match the full advertised address setCOMMENT
HIGHmusic_assistant/providers/sendspin/playback.py590 await processor.push(chunk)CODE
HIGHmusic_assistant/providers/sendspin/playback.py1391 await processor.push(chunk)CODE
HIGHmusic_assistant/providers/milkdrop_visualizer/tap.py141 A track without a palette yields every field as null, so a viewer drops theSTRING
HIGHmusic_assistant/providers/milkdrop_visualizer/tap.py248 queue.push(frame)CODE
HIGHmusic_assistant/providers/milkdrop_visualizer/relay.py10- text {"type":"color","payload":{field: [r,g,b]|null, ...}} - changed color@v1 fieldsSTRING
HIGHmusic_assistant/controllers/streams/audio_analysis.py423 # non-finite floats serialize to JSON null, which corrupts the stored row;COMMENT
HIGHmusic_assistant/controllers/webserver/api_docs.py1012 # Filter out None/null types (None, NoneType, null all mean JSON null)COMMENT
Deep Nesting291 hits · 256 pts
SeverityFileLineSnippetContext
LOWtests/test_library_sync.py477CODE
LOWtests/test_library_sync.py528CODE
LOWtests/integration/test_library_summary_items.py159CODE
LOWtests/providers/msx_bridge/test_http_server.py1543CODE
LOWtests/providers/fastmcp_server/test_origin.py321CODE
LOWtests/providers/fastmcp_server/test_config_security.py49CODE
LOWtests/providers/fastmcp_server/test_config_security.py76CODE
LOWtests/providers/music_quiz/test_plugin.py2294CODE
LOWtests/providers/music_quiz/test_plugin.py2613CODE
LOWtests/providers/music_quiz/test_models.py331CODE
LOWmusic_assistant/providers/wiim/grouping.py536CODE
LOWmusic_assistant/providers/wiim/player.py435CODE
LOWmusic_assistant/providers/openai_tts/__init__.py293CODE
LOWmusic_assistant/providers/openai_tts/__init__.py296CODE
LOWmusic_assistant/providers/hass_players/provider.py150CODE
LOWmusic_assistant/providers/hass_players/player.py404CODE
LOWmusic_assistant/providers/mammamiradio/__init__.py200CODE
LOWmusic_assistant/providers/ytmusic/__init__.py221CODE
LOWmusic_assistant/providers/ytmusic/__init__.py432CODE
LOWmusic_assistant/providers/ytmusic/__init__.py533CODE
LOWmusic_assistant/providers/ytmusic/__init__.py554CODE
LOWmusic_assistant/providers/ytmusic/__init__.py638CODE
LOWmusic_assistant/providers/ytmusic/__init__.py715CODE
LOWmusic_assistant/providers/ytmusic/__init__.py868CODE
LOWmusic_assistant/providers/ytmusic/__init__.py719CODE
LOWmusic_assistant/providers/ytmusic/helpers.py329CODE
LOWmusic_assistant/providers/ytmusic/helpers.py338CODE
LOWmusic_assistant/providers/vban_receiver/provider.py251CODE
LOWmusic_assistant/providers/teddycloud/provider.py78CODE
LOWmusic_assistant/providers/bandcamp/converters.py56CODE
LOWmusic_assistant/providers/sync_group/player.py128CODE
LOWmusic_assistant/providers/sync_group/player.py448CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py419CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py484CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py1075CODE
LOWmusic_assistant/providers/audiobookshelf/__init__.py1700CODE
LOWmusic_assistant/providers/apple_music/library.py225CODE
LOWmusic_assistant/providers/apple_music/library.py296CODE
LOWmusic_assistant/providers/apple_music/helpers/browse.py70CODE
LOWmusic_assistant/providers/smart_fades/helpers.py123CODE
LOWmusic_assistant/providers/theaudiodb/__init__.py173CODE
LOWmusic_assistant/providers/theaudiodb/__init__.py203CODE
LOWmusic_assistant/providers/bose_soundtouch/player.py394CODE
LOW…nt/providers/bose_soundtouch/client/client/__init__.py172CODE
LOW…nt/providers/bose_soundtouch/client/client/__init__.py221CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py140CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py196CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py302CODE
LOWmusic_assistant/providers/airplay_receiver/metadata.py339CODE
LOWmusic_assistant/providers/zvuk_music/parsers.py132CODE
LOWmusic_assistant/providers/playlist_metadata/__init__.py1099CODE
LOWmusic_assistant/providers/playlist_metadata/__init__.py182CODE
LOWmusic_assistant/providers/playlist_metadata/__init__.py492CODE
LOWmusic_assistant/providers/playlist_metadata/__init__.py1146CODE
LOWmusic_assistant/providers/test/__init__.py148CODE
LOWmusic_assistant/providers/hass/__init__.py508CODE
LOWmusic_assistant/providers/bbc_sounds/__init__.py512CODE
LOWmusic_assistant/providers/bbc_sounds/__init__.py664CODE
LOWmusic_assistant/providers/radioparadise/parsers.py53CODE
LOWmusic_assistant/providers/tunein/__init__.py93CODE
231 more matches not shown…
Redundant / Tautological Comments113 hits · 166 pts
SeverityFileLineSnippetContext
LOWmusic_assistant/providers/vban_receiver/provider.py319 # Check if the stream_id has changed underneath us while waitingCOMMENT
LOWmusic_assistant/providers/airplay_receiver/metadata.py144 # Check if we have a complete line before any XMLCOMMENT
LOWmusic_assistant/providers/airplay_receiver/provider.py589 # Check if process started successfullyCOMMENT
LOW…stant/providers/airplay_receiver/bin/build_binaries.sh103 # Check if Homebrew is installedCOMMENT
LOWmusic_assistant/providers/party/__init__.py598 # Check if guest access is enabledCOMMENT
LOWmusic_assistant/providers/party/__init__.py877 # Check if guest access and skip are enabledCOMMENT
LOWmusic_assistant/providers/spotify/provider.py188 # Check if user has a custom client ID with valid dev tokenCOMMENT
LOWmusic_assistant/providers/audible/__init__.py95 # Check if we have signing auth (preferred, stable - not affected by API changes)COMMENT
LOWmusic_assistant/providers/msx_bridge/http_server.py1677 # Check if we need to create a new shared stream (leader creates it)COMMENT
LOWmusic_assistant/providers/bluesound/provider.py83 # Check if the IP address has changedCOMMENT
LOW…_assistant/providers/nicovideo/provider_mixins/core.py64 # Check if login credentials are providedCOMMENT
LOWmusic_assistant/providers/nicovideo/services/video.py156 # Check if this is already a media playlist (has #EXTINF)COMMENT
LOW…providers/sonic_analysis/vendored_clap/clap_wrapper.py57 # Check if version is supportedCOMMENT
LOWmusic_assistant/providers/yandex_music/provider.py3279 # Check if we've already reached the limitCOMMENT
LOWmusic_assistant/providers/yandex_music/api_client.py739 # Check if it's LRC format (synced lyrics have timestamps like [00:12.34])COMMENT
LOWmusic_assistant/providers/universal_player/provider.py112 # Check if player already existsCOMMENT
LOWmusic_assistant/providers/soundcloud/__init__.py477 # Check if we have a valid response with tracks collectionCOMMENT
LOWmusic_assistant/providers/yandex_ynison/provider.py641 # Check if manual player switching is allowedCOMMENT
LOWmusic_assistant/providers/yandex_station/provider.py249 # Check if player already registered (cloud-discovered) — connect GlagolCOMMENT
LOWmusic_assistant/providers/pandora/provider.py433 # Check if already cached in sessionCOMMENT
LOWmusic_assistant/providers/internet_archive/provider.py219 # Check if we have enough results across all typesCOMMENT
LOWmusic_assistant/providers/internet_archive/provider.py336 # Check if this is audiobook content using improved detectionCOMMENT
LOWmusic_assistant/providers/internet_archive/provider.py345 # Check if this is podcast contentCOMMENT
LOWmusic_assistant/providers/internet_archive/provider.py604 # Check if this is the same as album artist to avoid duplicates (case-insensitive)COMMENT
LOWmusic_assistant/providers/plex/__init__.py795 # Check if this is a collection (collections have the format "collection:<key>")COMMENT
LOWmusic_assistant/providers/plex/__init__.py831 # Check if this is a collection (collections have the format "collection:<key>")COMMENT
LOWmusic_assistant/providers/plex/__init__.py1273 # Check if album rating meets the configured threshold for favoritesCOMMENT
LOWmusic_assistant/providers/plex/__init__.py1507 # Check if track rating meets the configured threshold for favoritesCOMMENT
LOWmusic_assistant/providers/plex_connect/gdm.py179 # Check if this is a discovery request (M-SEARCH) not our own HELLOCOMMENT
LOWmusic_assistant/providers/webdav/provider.py287 # Check if this is an audio file with embedded imageCOMMENT
LOWmusic_assistant/providers/webdav/helpers.py139 # Check if it's a directoryCOMMENT
LOWmusic_assistant/providers/kion_music/provider.py1915 # Check if we've already reached the limitCOMMENT
LOWmusic_assistant/providers/kion_music/api_client.py571 # Check if it's LRC format (synced lyrics have timestamps like [00:12.34])COMMENT
LOWmusic_assistant/providers/sendspin/provider.py1560 # Check if client still exists (may have disconnected while waiting)COMMENT
LOWmusic_assistant/providers/podcastfeed/__init__.py199 # Check if we got actual image contentCOMMENT
LOWmusic_assistant/providers/tidal/tidal_page_parser.py141 # Check if item appears to be a mixCOMMENT
LOWmusic_assistant/providers/tidal/auth_manager.py126 # Check if token is expiredCOMMENT
LOWmusic_assistant/models/player.py1773 # Check if the protocol player is actually availableCOMMENT
LOWmusic_assistant/models/player.py3487 # Check if member_id is a provider instance IDCOMMENT
LOWmusic_assistant/controllers/music/controller.py499 # Check if the search query is a streaming provider public shareable URLCOMMENT
LOWmusic_assistant/controllers/music/media/playlists.py384 # Check if any existing mapping's item_id has been modified for non-streaming providersCOMMENT
LOWmusic_assistant/controllers/music/media/genres.py2021 # Check if a non-excluded genre in this taxonomy exists with this name as its ownCOMMENT
LOWmusic_assistant/controllers/music/media/genres.py2071 # Check if this name was deliberately excluded in this taxonomy before creatingCOMMENT
LOWmusic_assistant/controllers/players/controller.py3137 # Check if parent config still existsCOMMENT
LOWmusic_assistant/controllers/players/controller.py3325 # Check if new source is external (not MA-managed)COMMENT
LOWmusic_assistant/controllers/players/controller.py3389 # Check if it's a known queue IDCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py238 # Check if this universal player should now be merged with anotherCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py279 # Check if linking actually succeeded (may be refused forCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py294 # Check if this universal player should now be merged with anotherCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py443 # Check if this protocol player has a cached parent (was previously linked)COMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py502 # Check if there's an existing universal player we should joinCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py585 # Check if linking actually succeeded (may be refused for duplicate domain)COMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py604 # Check if this universal player should now be merged with anotherCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py621 # Check if universal player has generic placeholder device infoCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py865 # Check if keeper already has an active link from this domainCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py989 # Check if linking succeeded (may be refused for duplicate domain)COMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py1622 # Check if this protocol has a parent_id pointing to this native playerCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py2201 # Check if this member is in the parent's group via protocolCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py2220 # Check if child's protocol player is in parent's native group_membersCOMMENT
LOWmusic_assistant/controllers/players/protocol_linking.py2287 # Check if parent supports this protocol (including native protocol)COMMENT
53 more matches not shown…
Over-Commented Block145 hits · 137 pts
SeverityFileLineSnippetContext
LOWtests/providers/fastmcp_server/conftest.py1"""COMMENT
LOWtests/controllers/streams/test_audio_sources.py421 ) -> None:COMMENT
LOWmusic_assistant/constants.py901 "Cache-Control": "no-cache",COMMENT
LOWmusic_assistant/providers/vban_receiver/provider.py361 self, source_id: str, player_id: str, owner_player_id: str, stream_session_id: strCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py241 # It allows retrieving the library/favorite artists from your provider.COMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py281 # It allows retrieving the library/favorite albums from your provider.COMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py301 # You are free to implement caching in your provider, as long as you return all itemsCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py321 # the 'sync_library' method.COMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py341 # If you need more fine grained control over the sync process, you can overrideCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py361 # to easily apply caching to this method.COMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py381 # Get full details of a single Album.COMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py401 # NOTE: Because this is often static data, it is advised to apply caching hereCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py421 # Mandatory only if you reported ARTIST_ALBUMS in the supported_features.COMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py501 Returns a boolean with the fully_played statusCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py641 Must be fast: return static or cached row descriptors only, withoutCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py681 # return UniqueList(await self._fetch_new_releases())COMMENT
LOW…assistant/providers/_demo_music_provider/setup_flow.py41 """COMMENT
LOWmusic_assistant/providers/sync_group/player.py121 # Only realign the effective member list to the preset when we areCOMMENT
LOWmusic_assistant/providers/sync_group/player.py561 # protocol doesn't support dynamic leader switching or not playingCOMMENT
LOWmusic_assistant/providers/sync_group/player.py881 # Sonos that can play via either its native protocol or via AirPlay). TheCOMMENT
LOWmusic_assistant/providers/yandex_smarthome/notifier.py81 # Dedupe state-callback errors by fingerprint. Yandex's backendCOMMENT
LOWmusic_assistant/providers/yandex_smarthome/constants.py21CONF_EXPOSED_PLAYLISTS = "exposed_playlists"COMMENT
LOWmusic_assistant/providers/yandex_smarthome/constants.py61# Direct mode uses a per-install auto-generated secret instead (see CONF_DIRECT_CLIENT_SECRET).COMMENT
LOWmusic_assistant/providers/hass/control_entities.py21COMMENT
LOWmusic_assistant/providers/spotify/constants.py21CONF_SOLOIST_API_KEY = "soloist_api_key"COMMENT
LOWmusic_assistant/providers/spotify/constants.py41# of two identically named entries is exactly what ends this session badly.COMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py101 from music_assistant.providers.spotify_connect.soloist.runtime import SoloistEventCOMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py121# - the burst must stay SMALL: during the burst window the read is unpaced,COMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py141_SEEK_CONFIRM_TIMEOUT_S: Final[float] = 15.0COMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py161_IDLE_TIMEOUT_S: Final[float] = 5.0COMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py181# the URI match in _signal_ready depends on. Resume well below the cap so theCOMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py941 raise AudioError("Spotify Soloist is not connected")COMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py1001 if self._error:COMMENT
LOWmusic_assistant/providers/spotify/backends/soloist.py2421 # nothing to disprove. Only a seek BACK has to see the engine comeCOMMENT
LOWmusic_assistant/providers/msx_bridge/static/input.js1/******************************************************************************/COMMENT
LOW…ridge/static/web/sendspin-js/silent-audio.generated.js1// Auto-generated by scripts/bundle-silent-audio.jsCOMMENT
LOWmusic_assistant/providers/amplipi/constants.py61 "bluetooth": "Bluetooth",COMMENT
LOW…_assistant/providers/fastmcp_server/connect/_revoke.py41# loaded (frontend / torch are not installed), so fall back toCOMMENT
LOW…t/providers/fastmcp_server/debug/inspect_serializer.py41# — walking them drags every other provider, queue, player, cache andCOMMENT
LOW…sic_assistant/providers/sonic_analysis/clap_prompts.py101# Calibration provenanceCOMMENT
LOWmusic_assistant/providers/yandex_music/constants.py81# triggers (HTML body with smart-captcha markers), the correspondingCOMMENT
LOWmusic_assistant/providers/yandex_music/constants.py101# sync — kept low so it does not flood smart-captchaCOMMENT
LOWmusic_assistant/providers/yandex_music/constants.py121# Initial-sync jitter: during the first INITIAL_SYNC_WINDOW_S after aCOMMENT
LOWmusic_assistant/providers/yandex_music/api_client.py141 ] = OrderedDict()COMMENT
LOWmusic_assistant/providers/hue_entertainment/analyzer.py41_PALETTE_DIM_FACTOR = 0.45COMMENT
LOWmusic_assistant/providers/hue_entertainment/analyzer.py101 color_gradient_spread: floatCOMMENT
LOWmusic_assistant/providers/hue_entertainment/analyzer.py181COMMENT
LOWmusic_assistant/providers/hue_entertainment/analyzer.py201# Transient scaling, beat animation fraction, pulse peak and color gradientCOMMENT
LOW…sic_assistant/providers/snapcast/snapweb/snapstream.js381 // rate = 1.0 - Math.min(rate, 0.0005);COMMENT
LOWmusic_assistant/providers/chromecast/constants.py41COMMENT
LOWmusic_assistant/providers/yandex_ynison/provider.py481 preventing bit-depth/sample-rate mismatches that cause noise.COMMENT
LOWmusic_assistant/providers/yandex_ynison/provider.py1161 self.logger.warning("Ynison active on our device but no MA player available")COMMENT
LOW…sic_assistant/providers/yandex_ynison/ynison_client.py721COMMENT
LOWmusic_assistant/providers/yandex_station/player.py601 alice_state = state.get("aliceState", "")COMMENT
LOWmusic_assistant/providers/yandex_station/player.py701 # Same-track guard:COMMENT
LOWmusic_assistant/providers/yandex_station/player.py781 # we'd never see the next track Alice queued. Keeping it mutedCOMMENT
LOWmusic_assistant/providers/airplay/provider.py81COMMENT
LOWmusic_assistant/providers/airplay/constants.py61# that could not tell a password challenge apart from a flat refusal wrote theCOMMENT
LOWmusic_assistant/providers/airplay/constants.py101COMMENT
LOWmusic_assistant/providers/airplay/constants.py121# wait that times out here has simply run out of planning time and falls back,COMMENT
85 more matches not shown…
Self-Referential Comments38 hits · 111 pts
SeverityFileLineSnippetContext
MEDIUMtests/test_webserver_auth.py165 # Create a user firstCOMMENT
MEDIUMtests/test_remote_access.py589 # Create a session firstCOMMENT
MEDIUMtests/providers/bandcamp/test_converters.py20 # Create a mock SearchResultTrackCOMMENT
MEDIUMtests/providers/bandcamp/test_converters.py39 # Create a mock SearchResultAlbumCOMMENT
MEDIUMtests/providers/bandcamp/test_converters.py102 # Create a mock SearchResultArtistCOMMENT
MEDIUMtests/providers/apple_music/test_library.py485 # Create an ItemMapping instead of a TrackCOMMENT
MEDIUMtests/providers/msx_bridge/test_player.py463 # Create a member whose play_media calls back into leader's propagationCOMMENT
MEDIUMtests/providers/smart_playlist/test_smart_playlist.py1742 # Create a library track without genresCOMMENT
MEDIUMtests/providers/yandex_ynison/test_ynison_client.py527 # Create a real task that we can cancelCOMMENT
MEDIUMtests/providers/tidal/test_api_client.py30 # Create a mock that acts as an async context managerCOMMENT
MEDIUMtests/providers/tidal/test_streaming.py524 # Create a mapping that triggers the update pathCOMMENT
MEDIUMtests/controllers/players/test_protocol_linking.py55 # Create a mock manifestCOMMENT
MEDIUMtests/helpers/test_throttle_retry.py329 # Create a date 60 seconds in the futureCOMMENT
MEDIUMmusic_assistant/providers/vban_receiver/vban.py44 # Create a socket and set the optionsCOMMENT
MEDIUM…c_assistant/providers/_demo_music_provider/__init__.py472 # Create a new playlist on the provider.COMMENT
MEDIUMmusic_assistant/providers/airplay_receiver/metadata.py105 # Create an asyncio.Event to signal when data is availableCOMMENT
MEDIUMmusic_assistant/providers/party/__init__.py793 # Create a QueueItem from the media itemCOMMENT
MEDIUMmusic_assistant/providers/spotify/parsers.py281 # Create a minimal podcast reference if none availableCOMMENT
MEDIUMmusic_assistant/providers/deezer/parsers.py772 # Create a full Artist object so MA doesn't try to resolve it.COMMENT
MEDIUMmusic_assistant/providers/deezer/parsers.py800 # Create a full Album object so MA doesn't try to resolve it.COMMENT
MEDIUM…istant/providers/nicovideo/provider_mixins/playlist.py120 # Create a new mylist using niconico.pyCOMMENT
MEDIUM…assistant/providers/digitally_incorporated/__init__.py765 # Create a mapping of filter ID to genre nameCOMMENT
MEDIUMmusic_assistant/providers/snapcast/socket_server.py77 # Create the socket serverCOMMENT
MEDIUMmusic_assistant/providers/universal_player/provider.py157 # Create the player instanceCOMMENT
MEDIUMmusic_assistant/providers/plex/__init__.py1890 # Create a recommendation folder for each hubCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py40 # This method is optional and should be implemented if you need to handleCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py239 # This method is mandatory and should be implemented.COMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py279 # This method is optional and should be implemented if you want to supportCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py291 # This method is optional and should be implemented if the player supportsCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py302 # This method is optional and should be implemented if the player supportsCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py310 # This method is optional and should be implemented if the player supportsCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py322 # This method is optional and should be implemented if the player supportsCOMMENT
MEDIUMmusic_assistant/controllers/config/providers.py592 # Create the config with only the server-default entries (no provider options: thoseCOMMENT
MEDIUMmusic_assistant/controllers/webserver/auth.py1116 # Create a long-lived token (only long-lived tokens can be created via this command)COMMENT
MEDIUMmusic_assistant/controllers/webserver/api_docs.py196 # Create a schema reference for this typeCOMMENT
MEDIUMmusic_assistant/controllers/webserver/api_docs.py289 # Create a detailed enum definition with descriptionsCOMMENT
MEDIUM…istant/controllers/webserver/helpers/auth_providers.py469 # Create the userCOMMENT
MEDIUMmusic_assistant/controllers/metadata/radio.py469 # Create a minimal Album object to pass the MusicBrainz release group IDCOMMENT
AI Slop Vocabulary49 hits · 106 pts
SeverityFileLineSnippetContext
MEDIUMtests/providers/sync_group/test_sync_group.py704 # (that path is only for the seamless handoff). Instead, dissolve+reformCOMMENT
MEDIUMtests/providers/sync_group/test_sync_group.py890 # the remaining member never joined the session, so no seamless handoffCOMMENT
MEDIUMtests/providers/sync_group/test_sync_group.py593 """When the new leader IS in the live session, seamless protocol-level handoff is used."""STRING
MEDIUMtests/providers/yandex_station/test_provider_cascade.py35# ── Test harness ───────────────────────────────────────────────────COMMENT
LOWtests/providers/airplay/test_control_player.py350 # the level the user just set.COMMENT
MEDIUMtests/helpers/test_audio.py150 # deliberately wide to stay robust on loaded CI runners.COMMENT
MEDIUMmusic_assistant/providers/ambient_sounds/__init__.py97 # 0.1 Hz swell = 3 full cycles per 30s loop, keeping the loop seamlessCOMMENT
MEDIUMmusic_assistant/providers/ambient_sounds/__init__.py358 """Build the ffmpeg filter graph that renders the preset as a seamless loop."""STRING
MEDIUMmusic_assistant/providers/ambient_sounds/__init__.py360 # seamless loop: generate CROSSFADE_DURATION extra seconds, trim that amountCOMMENT
LOW…c_assistant/providers/_demo_music_provider/__init__.py370 # Note that (local) file based providers will simply return all artist tracks here.COMMENT
MEDIUMmusic_assistant/providers/sync_group/constants.py52# group can do a seamless leader handoff; otherwise it must dissolve andCOMMENT
MEDIUMmusic_assistant/providers/sync_group/player.py1211 # a seamless handoff must stay on the protocol carrying the stream.COMMENT
MEDIUMmusic_assistant/providers/sync_group/player.py1232 # so the session continuation is seamless.COMMENT
MEDIUMmusic_assistant/providers/sync_group/player.py1254 # A seamless handoff requires the new leader to already be a sync_client ofCOMMENT
MEDIUMmusic_assistant/providers/phishin/provider.py116 # Replace with comprehensive song_slug resultsCOMMENT
MEDIUM…nt/providers/snapcast/snapweb/assets/index-BYMjFABP.js33 */var R3=J,ao=N3;function Ve(t){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+t,s=1;s<arguments.leCOMMENT
MEDIUM…nt/providers/snapcast/snapweb/assets/index-BYMjFABP.js33 */var R3=J,ao=N3;function Ve(t){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+t,s=1;s<arguments.leCOMMENT
MEDIUM…nt/providers/snapcast/snapweb/assets/index-BYMjFABP.js40`+d.stack}return{value:t,source:r,stack:p,digest:null}}function b2(t,r,s){return{value:t,source:null,stack:s??null,digesCODE
MEDIUM…nt/providers/snapcast/snapweb/assets/index-BYMjFABP.js40`+d.stack}return{value:t,source:r,stack:p,digest:null}}function b2(t,r,s){return{value:t,source:null,stack:s??null,digesCODE
MEDIUMmusic_assistant/providers/airplay/provider.py651 # Match by advertised name (robust even when the TXT record did not resolve).COMMENT
LOWmusic_assistant/providers/airplay/control_player.py1042 # overwrite (or persist) the level the user just set on the stream.COMMENT
MEDIUMmusic_assistant/providers/opensubsonic/parsers.py48# the list of episodes in a channel, to facilitate, we will use both the episode id and theCOMMENT
MEDIUMmusic_assistant/providers/squeezelite/provider.py149 # If any ports are occupied, raise a comprehensive error messageCOMMENT
MEDIUM…ic_assistant/providers/_demo_player_provider/player.py58 # used in conjunction with the needs_poll property.COMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py118 # In this demo implementation we just set the power state to ONCOMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py125 # In this demo implementation we just set the power state to OFFCOMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py139 # In this demo implementation we just set the volume levelCOMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py172 # In this demo implementation we just set the playback state to PLAYINGCOMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py189 # In this demo implementation we just set the playback state to IDLECOMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py205 # In this demo implementation we just set the playback state to PAUSEDCOMMENT
LOW…ic_assistant/providers/_demo_player_provider/player.py249 # the queue controller will simply call this play_media method forCOMMENT
LOWmusic_assistant/providers/sonos/provider.py259 # we just return the previous, current and next item in the queue.COMMENT
LOWmusic_assistant/providers/filesystem_local/__init__.py382 # for audiobooks and podcasts we just return all library itemsCOMMENT
LOWmusic_assistant/models/provider.py218 # default implementation - simply use the instance number/indexCOMMENT
LOWmusic_assistant/models/music_provider.py1956 # just return False here to trigger that logicCOMMENT
LOWmusic_assistant/models/player.py1298 # default implementation will simply call set_membersCOMMENT
LOWmusic_assistant/models/player.py1280 # default implementation will simply call set_membersCOMMENT
LOWmusic_assistant/models/player.py3312 # Scenario 1: Player is a protocol player - just return the (expanded) resultCOMMENT
LOWmusic_assistant/controllers/music/controller.py3283 # simply return the first item because search is already sorted by best matchCOMMENT
LOWmusic_assistant/controllers/music/media/playlists.py696 # simply sort by quality and just add the first available versionCOMMENT
LOWmusic_assistant/controllers/music/media/base.py1052 # simply return the fallback itemCOMMENT
LOWmusic_assistant/controllers/players/controller.py1564 # else: any other media item, just add it to the favorites directlyCOMMENT
LOWmusic_assistant/controllers/streams/controller.py816 # just set an insane high content length to make sure the player keeps playingCOMMENT
LOWmusic_assistant/controllers/streams/controller.py1195 # just set an insane high content length to make sure the player keeps playingCOMMENT
LOWmusic_assistant/controllers/webserver/api_docs.py982 # Remove the ellipsis and just use the typeCOMMENT
LOW…ssistant/controllers/player_queues/playback_tracker.py380 # so we just return the queue index and the elapsed timeCOMMENT
LOWmusic_assistant/helpers/api.py105 # we can just use the bound type for documentation purposesCOMMENT
LOWmusic_assistant/helpers/audio.py888 # simply return the preferenceCOMMENT
MEDIUMscripts/perf/perf_server.py191 # skip the harness' own frames - they are measurement scaffoldingCOMMENT
Verbosity Indicators25 hits · 39 pts
SeverityFileLineSnippetContext
LOWtests/controllers/music/test_genres.py2376 # Step 2: album gains its own genre metadata.COMMENT
LOWtests/controllers/music/test_genres.py2379 # Step 3: incremental scan must replace the derived mapping with a direct one,COMMENT
LOWtests/controllers/music/test_genres.py2353 # Step 1: album has no genres yet → propagation creates a derived mapping.COMMENT
LOWtests/controllers/players/test_protocol_linking.py5073 # Step 1: Mock config - AirPlay has cached parent, Sendspin does notCOMMENT
LOWtests/controllers/players/test_protocol_linking.py5120 # Step 2: AirPlay reconnects first - links via cached parent_idCOMMENT
LOWtests/controllers/players/test_protocol_linking.py5129 # Step 3: Sendspin registers next - should match Universal Player by MACCOMMENT
LOWmusic_assistant/providers/hass_players/provider.py168 # if the player is an ESPHome player, we need to check if it is a V2 playerCOMMENT
LOW…sic_assistant/providers/yandex_ynison/ynison_client.py246 # Step 1: Get redirect ticketCOMMENT
LOW…sic_assistant/providers/yandex_ynison/ynison_client.py249 # Step 2: Connect to state serviceCOMMENT
LOWmusic_assistant/providers/airplay/pairing.py457 # Step 1: Send device ID and methodSTRING
LOWmusic_assistant/providers/airplay/pairing.py479 # Step 2: SRP authenticationSTRING
LOWmusic_assistant/providers/airplay/pairing.py508 # Step 3: Encrypt and send auth public key using AES-GCMSTRING
LOWmusic_assistant/helpers/tags.py253 # Step 1: Always split on featuring splittersCOMMENT
LOWmusic_assistant/helpers/tags.py260 # Step 2: If no expected_count or already at/above target, we're doneCOMMENT
LOWmusic_assistant/helpers/tags.py264 # Step 3: Need more artists - split on extra splitters to reach expected_countCOMMENT
LOWmusic_assistant/helpers/resources/api_docs.html462<span class="comment"># Step 1: Authenticate (REQUIRED as first command)</span>CODE
LOWmusic_assistant/helpers/resources/api_docs.html480<span class="comment"># Step 2: Send commands (message_id is REQUIRED)</span>CODE
LOW.github/workflows/dependency-security.yml58 # Step 1: Verify requirements_all.txt is in syncCOMMENT
LOW.github/workflows/dependency-security.yml84 # Step 2: Detect new or changed dependenciesCOMMENT
LOW.github/workflows/dependency-security.yml132 # Step 3: Resolve what both branches install, so findings can be split into onesCOMMENT
LOW.github/workflows/dependency-security.yml154 # Step 4: Run pip-audit for known vulnerabilities. The audit covers the wholeCOMMENT
LOW.github/workflows/dependency-security.yml202 # Step 5: Check manifest.json changesCOMMENT
LOW.github/workflows/dependency-security.yml250 # Step 6: Run package safety check on new dependenciesCOMMENT
LOW.github/workflows/dependency-security.yml309 # Step 7: Persist analysis results for the reporting workflow.COMMENT
LOW.github/workflows/dependency-security.yml328 # Step 8: Hand off report fragments and results to the reporting workflowCOMMENT
Structural Annotation Overuse24 hits · 37 pts
SeverityFileLineSnippetContext
LOWtests/controllers/music/test_genres.py2376 # Step 2: album gains its own genre metadata.COMMENT
LOWtests/controllers/music/test_genres.py2379 # Step 3: incremental scan must replace the derived mapping with a direct one,COMMENT
LOWtests/controllers/music/test_genres.py2353 # Step 1: album has no genres yet → propagation creates a derived mapping.COMMENT
LOWtests/controllers/players/test_protocol_linking.py5073 # Step 1: Mock config - AirPlay has cached parent, Sendspin does notCOMMENT
LOWtests/controllers/players/test_protocol_linking.py5120 # Step 2: AirPlay reconnects first - links via cached parent_idCOMMENT
LOWtests/controllers/players/test_protocol_linking.py5129 # Step 3: Sendspin registers next - should match Universal Player by MACCOMMENT
LOW…sic_assistant/providers/yandex_ynison/ynison_client.py246 # Step 1: Get redirect ticketCOMMENT
LOW…sic_assistant/providers/yandex_ynison/ynison_client.py249 # Step 2: Connect to state serviceCOMMENT
LOWmusic_assistant/providers/airplay/pairing.py457 # Step 1: Send device ID and methodSTRING
LOWmusic_assistant/providers/airplay/pairing.py479 # Step 2: SRP authenticationSTRING
LOWmusic_assistant/providers/airplay/pairing.py508 # Step 3: Encrypt and send auth public key using AES-GCMSTRING
LOWmusic_assistant/helpers/tags.py253 # Step 1: Always split on featuring splittersCOMMENT
LOWmusic_assistant/helpers/tags.py260 # Step 2: If no expected_count or already at/above target, we're doneCOMMENT
LOWmusic_assistant/helpers/tags.py264 # Step 3: Need more artists - split on extra splitters to reach expected_countCOMMENT
LOWmusic_assistant/helpers/resources/api_docs.html462<span class="comment"># Step 1: Authenticate (REQUIRED as first command)</span>CODE
LOWmusic_assistant/helpers/resources/api_docs.html480<span class="comment"># Step 2: Send commands (message_id is REQUIRED)</span>CODE
LOW.github/workflows/dependency-security.yml58 # Step 1: Verify requirements_all.txt is in syncCOMMENT
LOW.github/workflows/dependency-security.yml84 # Step 2: Detect new or changed dependenciesCOMMENT
LOW.github/workflows/dependency-security.yml132 # Step 3: Resolve what both branches install, so findings can be split into onesCOMMENT
LOW.github/workflows/dependency-security.yml154 # Step 4: Run pip-audit for known vulnerabilities. The audit covers the wholeCOMMENT
LOW.github/workflows/dependency-security.yml202 # Step 5: Check manifest.json changesCOMMENT
LOW.github/workflows/dependency-security.yml250 # Step 6: Run package safety check on new dependenciesCOMMENT
LOW.github/workflows/dependency-security.yml309 # Step 7: Persist analysis results for the reporting workflow.COMMENT
LOW.github/workflows/dependency-security.yml328 # Step 8: Hand off report fragments and results to the reporting workflowCOMMENT
AI Structural Patterns40 hits · 30 pts
SeverityFileLineSnippetContext
LOWtests/providers/zvuk_music/test_parsers.py72CODE
LOWtests/providers/zvuk_music/test_parsers.py137CODE
LOWtests/providers/music_quiz/test_plugin.py114CODE
LOWtests/providers/chromecast/test_media_status_updates.py108CODE
LOWtests/providers/smart_playlist/test_smart_playlist.py367CODE
LOWtests/providers/airplay/test_dashboard.py30CODE
LOWtests/providers/airplay/dacp/conftest.py78CODE
LOWtests/providers/plex/test_provider_methods.py75CODE
LOWtests/providers/opensubsonic/test_provider.py46CODE
LOWtests/providers/builtin/test_sound_effects.py19CODE
LOW…sts/providers/spotify_connect/test_backend_contract.py179CODE
LOWtests/controllers/music/test_library_listing_queries.py197CODE
LOWtests/controllers/streams/smart_fades/conftest.py21CODE
LOW…c_assistant/providers/smart_fades/feature_extractor.py40CODE
LOW…c_assistant/providers/smart_fades/dbn_postprocessor.py29CODE
LOW…s/sonic_analysis/vendored_clap/models/pytorch_utils.py30CODE
LOW…providers/sonic_analysis/vendored_clap/models/htsat.py61CODE
LOW…providers/sonic_analysis/vendored_clap/models/htsat.py384CODE
LOW…providers/sonic_analysis/vendored_clap/models/htsat.py588CODE
LOW…providers/sonic_analysis/vendored_clap/models/htsat.py686CODE
LOWmusic_assistant/providers/music_quiz/__init__.py352CODE
LOWmusic_assistant/providers/squeezelite/player.py798CODE
LOWmusic_assistant/controllers/music/media/tracks.py240CODE
LOWmusic_assistant/controllers/music/media/podcasts.py78CODE
LOWmusic_assistant/controllers/music/media/audiobooks.py204CODE
LOWmusic_assistant/controllers/music/media/audiobooks.py151CODE
LOWmusic_assistant/controllers/music/media/audiobooks.py169CODE
LOWmusic_assistant/controllers/music/media/audiobooks.py187CODE
LOWmusic_assistant/controllers/music/media/artists.py157CODE
LOWmusic_assistant/controllers/music/media/base.py481CODE
LOWmusic_assistant/controllers/music/media/base.py1479CODE
LOWmusic_assistant/controllers/music/media/base.py428CODE
LOWmusic_assistant/controllers/music/media/base.py446CODE
LOWmusic_assistant/controllers/music/media/base.py464CODE
LOWmusic_assistant/controllers/music/media/base.py1416CODE
LOWmusic_assistant/controllers/music/media/base.py1437CODE
LOWmusic_assistant/controllers/music/media/base.py1458CODE
LOWmusic_assistant/controllers/music/media/albums.py165CODE
LOWmusic_assistant/controllers/tasks/controller.py253CODE
LOWmusic_assistant/controllers/cache/helpers.py48CODE
Synthetic Comment Markers4 hits · 29 pts
SeverityFileLineSnippetContext
HIGHtests/providers/smart_playlist/test_smart_playlist.py1841# AI-generated description testsCOMMENT
HIGHmusic_assistant/providers/zvuk_music/constants.py29# These AI-generated playlists are identified by low fixed IDs, stable per account.COMMENT
HIGH…instructions/music-assistant-standards.instructions.md26- **Won't support** AI-generated technical diagnoses or bug reports filed at face value in the tracker; describe problemCODE
HIGH…instructions/music-assistant-standards.instructions.md26- **Won't support** AI-generated technical diagnoses or bug reports filed at face value in the tracker; describe problemCODE
Modern AI Meta-Vocabulary8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMtests/providers/smart_fades/test_provider.py40# Clip ends 0.2s after the last beat to avoid end-of-track hallucination.COMMENT
MEDIUM…ts/controllers/streams/smart_fades/test_vocal_aware.py447 # FireRed hallucinates vocal-like activity in the low-energy tail, past the boundaryCOMMENT
MEDIUMmusic_assistant/providers/airplay/stream.py198 # `connected` this makes readiness fully event-driven, so START canCOMMENT
MEDIUMmusic_assistant/providers/airplay/player.py652 # The lock windows live inside the orchestration: the dispatch decision andCOMMENT
MEDIUMmusic_assistant/providers/airplay/stream_session.py203 # anchor with a short lead. Readiness is fully event-drivenCOMMENT
MEDIUM…ant/controllers/streams/smart_fades/planner/context.py79# exceed ~6dB and re-orchestrate (band fractions move)COMMENT
MEDIUMscripts/perf/perf_server.py191 # skip the harness' own frames - they are measurement scaffoldingCOMMENT
MEDIUM…instructions/music-assistant-standards.instructions.md66- **MUST** stay event-driven: when state looks stale, add or fix the missing event instead of polling; prefer mDNS/annouCODE
Slop Phrases10 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUM…c_assistant/providers/_demo_music_provider/__init__.py531 # for most providers this will be HTTP but you can also use CUSTOMCOMMENT
LOWmusic_assistant/providers/theaudiodb/__init__.py187 # make sure to include the version in the album nameCOMMENT
LOWmusic_assistant/providers/theaudiodb/__init__.py215 # make sure to include the version in the album nameCOMMENT
LOWmusic_assistant/providers/lastfm_scrobble/__init__.py136 self.logger.info("No session key available, don't forget to authenticate!")CODE
LOWmusic_assistant/providers/lastfm_scrobble/strings.json26 "label": "Successfully logged in as {0}, don't forget to hit save to complete the setup"CODE
MEDIUM…_assistant/providers/_demo_plugin_provider/__init__.py150 # you can use this for instance to trigger custom (non-mdns) discovery of pluginsCOMMENT
MEDIUM…_assistant/providers/_demo_player_provider/provider.py64 # you can use this to do any async initialization of the provider,COMMENT
MEDIUM…_assistant/providers/_demo_player_provider/provider.py150 # note that you can use this point to update the player connection infoCOMMENT
LOWmusic_assistant/controllers/music/controller.py321 # make sure to finish any removal jobsCOMMENT
LOWmusic_assistant/translations/en.json1582 "provider.lastfm_scrobble.config_entries.save_reminder.label": "Successfully logged in as {0}, don't forget to hit savCODE
Dead Code10 hits · 19 pts
SeverityFileLineSnippetContext
MEDIUMtests/providers/msx_bridge/conftest.py25CODE
MEDIUMtests/providers/filesystem/test_nfo_resolution.py972CODE
MEDIUMtests/providers/yandex_ynison/test_ynison_client.py1298CODE
MEDIUMtests/providers/airplay/test_protocol_crash.py55CODE
MEDIUMtests/providers/kion_music/test_streaming.py265CODE
MEDIUMtests/providers/squeezelite/test_player.py25CODE
MEDIUMtests/providers/spotify_connect/test_provider.py103CODE
MEDIUMtests/controllers/music/test_sync_resilience.py205CODE
MEDIUMtests/controllers/streams/test_audio_buffer.py358CODE
MEDIUMmusic_assistant/models/plugin.py181CODE
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…sic_assistant/providers/nicovideo/converters/stream.py57 Convert StreamConversionData into StreamDetails. Args: conversion_data: Data containing viSTRING
HIGHmusic_assistant/providers/pandora/helpers.py57 Get CSRF token from Pandora website. Attempts to retrieve CSRF token from Pandora cookies. Args: STRING
HIGHmusic_assistant/providers/internet_archive/provider.py761 Get streamdetails for a track or audiobook. Delegates to the streaming handler for proper multi-file sSTRING
Fake / Example Data5 hits · 6 pts
SeverityFileLineSnippetContext
LOWtests/providers/yandex_music/test_api_client.py1556 client = YandexMusicClient(token=SecretStr("fake_token"))CODE
LOWtests/providers/yandex_music/test_api_client.py48 client = YandexMusicClient(token=SecretStr("fake_token"))CODE
LOWtests/providers/kion_music/test_api_client.py21 return KionMusicClient("fake_token", base_url=DEFAULT_BASE_URL)CODE
LOWtests/providers/kion_music/test_api_client.py35 mock_cls.assert_called_once_with("fake_token", base_url=DEFAULT_BASE_URL)CODE
LOW…nt/providers/snapcast/snapweb/assets/index-BYMjFABP.js129`&&(Q.value+=" ");const U=B.boxSizing,ee=Bu(B.paddingBottom)+Bu(B.paddingTop),q=Bu(B.borderBottomWidth)+Bu(B.borderTopWiCODE
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/providers/audible/test_audible.py41def helper(mass_mock: AsyncMock, audible_client_mock: AsyncMock) -> AudibleHelper:CODE
LOWmusic_assistant/providers/nicovideo/converters/base.py29 def helper(self) -> NicovideoConverterHelper:CODE
LOWmusic_assistant/controllers/tasks/controller.py149 def run_task(self, task_id: str) -> BackgroundTask:CODE
TODO Padding1 hit · 1 pts
SeverityFileLineSnippetContext
LOWmusic_assistant/providers/filesystem_local/__init__.py2150 track.favorite = False # TODO: implement favorite status based on rating ?CODE