Repository Analysis

beetbox/beets

music library manager and MusicBrainz tagger

13.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of beetbox/beets, a Python project with 15,384 GitHub stars. SynthScan v2.0 examined 111,070 lines of code across 356 source files, recording 1383 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 13.6 places this repository in the Low 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).

13.6
Adjusted Score
13.6
Raw Score
100%
Time Factor
2026-07-13
Last Push
15.4K
Stars
Python
Language
111.1K
Lines of Code
356
Files
1.4K
Pattern Hits
2026-07-14
Scan Date
0.03
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 0HIGH 11MEDIUM 35LOW 1337

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 1383 distinct pattern matches across 16 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 Identifiers993 hits · 1017 pts
SeverityFileLineSnippetContext
LOWtest/test_library.py50 def test_load_restores_data_from_db(self, item_in_db):CODE
LOWtest/test_library.py56 def test_load_clears_dirty_flags(self, item_in_db):CODE
LOWtest/test_library.py64 def test_store_changes_database_value(self, item_in_db):CODE
LOWtest/test_library.py71 def test_store_only_writes_dirty_fields(self, item_in_db):CODE
LOWtest/test_library.py78 def test_store_clears_dirty_flags(self, item_in_db):CODE
LOWtest/test_library.py83 def test_store_album_cascades_flex_deletes(self):CODE
LOWtest/test_library.py196 def test_directory_works_with_trailing_slash(self, item_in_db):CODE
LOWtest/test_library.py201 def test_directory_works_without_trailing_slash(self, item_in_db):CODE
LOWtest/test_library.py206 def test_destination_substitutes_metadata_values(self, item_in_db):CODE
LOWtest/test_library.py214 def test_destination_preserves_extension(self, item_in_db):CODE
LOWtest/test_library.py220 def test_lower_case_extension(self, item_in_db):CODE
LOWtest/test_library.py226 def test_destination_pads_some_indices(self, item_in_db):CODE
LOWtest/test_library.py238 def test_destination_pads_date_values(self, item_in_db):CODE
LOWtest/test_library.py246 def test_destination_escapes_slashes(self, item_in_db):CODE
LOWtest/test_library.py254 def test_destination_escapes_leading_dot(self, item_in_db):CODE
LOWtest/test_library.py261 def test_destination_preserves_legitimate_slashes(self, item_in_db):CODE
LOWtest/test_library.py268 def test_destination_long_names_truncated(self, item_in_db):CODE
LOWtest/test_library.py274 def test_destination_long_names_keep_extension(self, item_in_db):CODE
LOWtest/test_library.py280 def test_distination_windows_removes_both_separators(self, item_in_db):CODE
LOWtest/test_library.py335 def test_multi_value_string_query_path(self, item_in_db):CODE
LOWtest/test_library.py344 def test_multi_value_match_query_path(self, item_in_db):CODE
LOWtest/test_library.py353 def test_multi_value_string_query_path_no_substring_match(self, item_in_db):CODE
LOWtest/test_library.py362 def test_albumtype_query_path(self, item_in_db):CODE
LOWtest/test_library.py386 def test_get_formatted_does_not_replace_separators(self, item_in_db):CODE
LOWtest/test_library.py393 def test_get_formatted_pads_with_zero(self, item_in_db):CODE
LOWtest/test_library.py399 def test_get_formatted_uses_kbps_bitrate(self, item_in_db):CODE
LOWtest/test_library.py405 def test_get_formatted_uses_khz_samplerate(self, item_in_db):CODE
LOWtest/test_library.py411 def test_get_formatted_datetime(self, item_in_db):CODE
LOWtest/test_library.py423 def test_artist_falls_back_to_albumartist(self, item_in_db):CODE
LOWtest/test_library.py430 def test_albumartist_falls_back_to_artist(self, item_in_db):CODE
LOWtest/test_library.py437 def test_artist_overrides_albumartist(self, item_in_db):CODE
LOWtest/test_library.py444 def test_albumartist_overrides_artist(self, item_in_db):CODE
LOWtest/test_library.py451 def test_unicode_extension_in_fragment(self, item_in_db):CODE
LOWtest/test_library.py458 def test_asciify_character_expanding_to_slash(self, item_in_db):CODE
LOWtest/test_library.py465 def test_destination_with_replacements(self, item_in_db):CODE
LOWtest/test_library.py474 def test_destination_with_empty_component(self, item_in_db):CODE
LOWtest/test_library.py503 def test_album_field_in_template(self, item_in_db):CODE
LOWtest/test_library.py513 def test_formatted_item_value(self, item_in_db):CODE
LOWtest/test_library.py522 def test_get_method_with_default(self, item_in_db):CODE
LOWtest/test_library.py526 def test_get_method_with_specified_default(self, item_in_db):CODE
LOWtest/test_library.py554 def test_artist_falls_back_to_albumartist(self, item_in_db):CODE
LOWtest/test_library.py559 def test_albumartist_falls_back_to_artist(self, item_in_db):CODE
LOWtest/test_library.py564 def test_both_artist_and_albumartist_empty(self, item_in_db):CODE
LOWtest/test_library.py655 def test_nonexistent_function(self, item):CODE
LOWtest/test_library.py659 def test_if_def_field_return_self(self, item):CODE
LOWtest/test_library.py664 def test_if_def_field_not_defined(self, item):CODE
LOWtest/test_library.py717 def test_unique_expands_to_disambiguating_year(self, items):CODE
LOWtest/test_library.py721 def test_unique_with_default_arguments_uses_albumtype(self, items):CODE
LOWtest/test_library.py729 def test_unique_expands_to_nothing_for_distinct_albums(self, items):CODE
LOWtest/test_library.py737 def test_use_fallback_numbers_when_identical(self, items):CODE
LOWtest/test_library.py746 def test_unique_falls_back_to_second_distinguishing_field(self, items):CODE
LOWtest/test_library.py812 def test_sunique_expands_to_disambiguating_year(self, items):CODE
LOWtest/test_library.py816 def test_sunique_with_default_arguments_uses_trackdisambig(self, items):CODE
LOWtest/test_library.py824 def test_sunique_expands_to_nothing_for_distinct_singletons(self, items):CODE
LOWtest/test_library.py831 def test_sunique_does_not_match_album(self, items):CODE
LOWtest/test_library.py836 def test_sunique_use_fallback_numbers_when_identical(self, items):CODE
LOWtest/test_library.py844 def test_sunique_falls_back_to_second_distinguishing_field(self, items):CODE
LOWtest/test_library.py914 def test_undefined_value_not_substituted(self, item):CODE
LOWtest/test_library.py917 def test_plugin_value_not_substituted(self, item):CODE
LOWtest/test_library.py921 def test_plugin_value_overrides_attribute(self, item):CODE
933 more matches not shown…
Unused Imports160 hits · 158 pts
SeverityFileLineSnippetContext
LOWtest/test_library.py3CODE
LOWtest/test_importer.py3CODE
LOWtest/plugins/test_albumtypes.py3CODE
LOWtest/plugins/conftest.py1CODE
LOWtest/plugins/test_musicbrainz.py3CODE
LOWtest/plugins/test_hook.py1CODE
LOWtest/plugins/test_convert.py1CODE
LOWtest/plugins/test_mbpseudo.py1CODE
LOWtest/plugins/test_tidal.py3CODE
LOWtest/plugins/test_embedart.py1CODE
LOWtest/plugins/lyrics_pages.py1CODE
LOWtest/plugins/test_aura.py1CODE
LOWtest/plugins/test_smartplaylist.py2CODE
LOWtest/plugins/test_ftintitle.py3CODE
LOWtest/plugins/test_lyrics.py3CODE
LOWtest/plugins/test_art.py3CODE
LOWbeetsplug/replaygain.py1CODE
LOWbeetsplug/missing.py3CODE
LOWbeetsplug/titlecase.py5CODE
LOWbeetsplug/_typing.py1CODE
LOWbeetsplug/autobpm.py3CODE
LOWbeetsplug/fetchart.py3CODE
LOWbeetsplug/mbcollection.py1CODE
LOWbeetsplug/convert.py3CODE
LOWbeetsplug/musicbrainz.py3CODE
LOWbeetsplug/hook.py3CODE
LOWbeetsplug/lyrics.py3CODE
LOWbeetsplug/ftintitle.py3CODE
LOWbeetsplug/edit.py3CODE
LOWbeetsplug/random.py1CODE
LOWbeetsplug/lastimport.py1CODE
LOWbeetsplug/aura.py3CODE
LOWbeetsplug/deezer.py3CODE
LOWbeetsplug/listenbrainz.py3CODE
LOWbeetsplug/playlist.py1CODE
LOWbeetsplug/parentwork.py5CODE
LOWbeetsplug/mbpseudo.py3CODE
LOWbeetsplug/albumtypes.py3CODE
LOWbeetsplug/beatport.py3CODE
LOWbeetsplug/chroma.py5CODE
LOWbeetsplug/spotify.py6CODE
LOWbeetsplug/smartplaylist.py3CODE
LOWbeetsplug/replace.py1CODE
LOWbeetsplug/_utils/musicbrainz.py11CODE
LOWbeetsplug/_utils/__init__.py1CODE
LOWbeetsplug/_utils/__init__.py1CODE
LOWbeetsplug/_utils/playcount.py1CODE
LOWbeetsplug/_utils/vfs.py5CODE
LOWbeetsplug/_utils/requests.py1CODE
LOWbeetsplug/lastgenre/client.py3CODE
LOWbeetsplug/lastgenre/__init__.py10CODE
LOWbeetsplug/lastgenre/utils.py3CODE
LOWbeetsplug/metasync/__init__.py3CODE
LOWbeetsplug/discogs/__init__.py5CODE
LOWbeetsplug/discogs/types.py1CODE
LOWbeetsplug/discogs/states.py3CODE
LOWbeetsplug/tidal/api_types.py1CODE
LOWbeetsplug/tidal/session.py1CODE
LOWbeetsplug/tidal/__init__.py1CODE
LOWbeetsplug/tidal/api.py1CODE
100 more matches not shown…
Deep Nesting93 hits · 92 pts
SeverityFileLineSnippetContext
LOWtest/util/test_functemplate.py8CODE
LOWtest/plugins/test_bpd.py124CODE
LOWtest/plugins/test_bpd.py254CODE
LOWtest/plugins/test_lastgenre.py764CODE
LOWbeetsplug/duplicates.py333CODE
LOWbeetsplug/replaygain.py845CODE
LOWbeetsplug/replaygain.py848CODE
LOWbeetsplug/titlecase.py170CODE
LOWbeetsplug/advancedrewrite.py51CODE
LOWbeetsplug/acousticbrainz.py149CODE
LOWbeetsplug/acousticbrainz.py250CODE
LOWbeetsplug/fetchart.py91CODE
LOWbeetsplug/fetchart.py252CODE
LOWbeetsplug/fetchart.py418CODE
LOWbeetsplug/fetchart.py519CODE
LOWbeetsplug/fetchart.py905CODE
LOWbeetsplug/fetchart.py1042CODE
LOWbeetsplug/fetchart.py1146CODE
LOWbeetsplug/fetchart.py1311CODE
LOWbeetsplug/fetchart.py1559CODE
LOWbeetsplug/fetchart.py1603CODE
LOWbeetsplug/fetchart.py530CODE
LOWbeetsplug/convert.py402CODE
LOWbeetsplug/convert.py568CODE
LOWbeetsplug/musicbrainz.py714CODE
LOWbeetsplug/lyrics.py1148CODE
LOWbeetsplug/mbsync.py85CODE
LOWbeetsplug/importfeeds.py86CODE
LOWbeetsplug/edit.py385CODE
LOWbeetsplug/edit.py418CODE
LOWbeetsplug/types.py16CODE
LOWbeetsplug/zero.py19CODE
LOWbeetsplug/zero.py82CODE
LOWbeetsplug/bpsync.py118CODE
LOWbeetsplug/aura.py242CODE
LOWbeetsplug/listenbrainz.py191CODE
LOWbeetsplug/playlist.py147CODE
LOWbeetsplug/subsonicplaylist.py17CODE
LOWbeetsplug/subsonicplaylist.py92CODE
LOWbeetsplug/subsonicplaylist.py93CODE
LOWbeetsplug/ipfs.py266CODE
LOWbeetsplug/badfiles.py183CODE
LOWbeetsplug/importsource.py57CODE
LOWbeetsplug/mbpseudo.py189CODE
LOWbeetsplug/chroma.py425CODE
LOWbeetsplug/embedart.py76CODE
LOWbeetsplug/embedart.py101CODE
LOWbeetsplug/spotify.py807CODE
LOWbeetsplug/the.py19CODE
LOWbeetsplug/bpd/gstplayer.py214CODE
LOWbeetsplug/bpd/__init__.py371CODE
LOWbeetsplug/bpd/__init__.py822CODE
LOWbeetsplug/bpd/__init__.py1372CODE
LOWbeetsplug/lastgenre/__init__.py381CODE
LOWbeetsplug/discogs/__init__.py469CODE
LOWbeetsplug/discogs/__init__.py549CODE
LOWbeetsplug/discogs/__init__.py594CODE
LOWbeets/ui/__init__.py176CODE
LOWbeets/ui/__init__.py363CODE
LOWbeets/ui/__init__.py476CODE
33 more matches not shown…
Self-Referential Comments24 hits · 68 pts
SeverityFileLineSnippetContext
MEDIUMtest/plugins/test_web.py329 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py354 # Create an item with a fileCOMMENT
MEDIUMtest/plugins/test_web.py382 # Create an item with a fileCOMMENT
MEDIUMtest/plugins/test_web.py409 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py446 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py473 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py500 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py525 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py562 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py589 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py620 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py662 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_bpd.py265 # Create a config file:COMMENT
MEDIUMtest/plugins/test_lastgenre.py637 # Initialize plugin instance and itemCOMMENT
MEDIUMtest/plugins/test_spotify.py206 # Create a mock item with Japanese metadataCOMMENT
MEDIUMbeetsplug/convert.py716 # Create a temporary file for the conversion.COMMENT
MEDIUMbeetsplug/bareasc.py2# This module is adapted from Fuzzy in accordance to the licence ofCOMMENT
MEDIUMbeetsplug/kodiupdate.py26 # Create the payload. Id seems to be mandatory.COMMENT
MEDIUMbeets/ui/commands/__init__.py1"""This module provides the default commands for beets' command-lineSTRING
MEDIUMbeets/importer/stages.py191 # Create a new task for tagging the current itemsCOMMENT
MEDIUMbeets/util/color.py161 # Define a regular expression to match ANSI codes.COMMENT
MEDIUMbeets/util/functemplate.py1"""This module implements a string formatter based on the standard PEPSTRING
MEDIUMbeets/util/functemplate.py176 # Create a subexpression that joins the result components ofCOMMENT
MEDIUMbeets/library/library.py107 # Create the album structure using metadata from the first item.COMMENT
Cross-File Repetition10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHtest/util/test_lyrics.py0[00:00.00] some synced lyrics / quelques paroles synchronisées [00:00.50] [00:01.00] some more synced lyrics / quelques STRING
HIGHtest/library/test_migrations.py0[00:00.00] some synced lyrics / quelques paroles synchronisées [00:00.50] [00:01.00] some more synced lyrics / quelques STRING
HIGHtest/plugins/test_lyrics.py0[00:00.00] some synced lyrics / quelques paroles synchronisées [00:00.50] [00:01.00] some more synced lyrics / quelques STRING
HIGHbeetsplug/plexupdate.py0listens for beets db change and register the update for the end.STRING
HIGHbeetsplug/kodiupdate.py0listens for beets db change and register the update for the end.STRING
HIGHbeetsplug/sonosupdate.py0listens for beets db change and register the update for the end.STRING
HIGHbeetsplug/embyupdate.py0listens for beets db change and register the update for the end.STRING
HIGHbeetsplug/beatport.py0get the path to the json file for storing the oauth token.STRING
HIGHbeetsplug/spotify.py0get the path to the json file for storing the oauth token.STRING
HIGHbeetsplug/discogs/__init__.py0get the path to the json file for storing the oauth token.STRING
Excessive Try-Catch Wrapping36 hits · 41 pts
SeverityFileLineSnippetContext
LOWtest/test_logging.py256 except Exception as e:CODE
LOWtest/test_logging.py266 except Exception as e:CODE
LOWtest/test_logging.py311 except Exception:CODE
MEDIUMtest/test_logging.py249def listener1(self):CODE
MEDIUMtest/test_logging.py259def listener2(self):CODE
LOWbeetsplug/duplicates.py228 except Exception:CODE
LOWbeetsplug/titlecase.py243 except Exception as e:CODE
LOWbeetsplug/autobpm.py98 except Exception as exc:CODE
LOWbeetsplug/autobpm.py105 except Exception as exc:CODE
LOWbeetsplug/deezer.py257 except Exception as e:CODE
LOWbeetsplug/scrub.py76 except Exception:CODE
LOWbeetsplug/subsonicupdate.py140 except Exception as error:CODE
LOWbeetsplug/beatport.py193 except Exception as e:CODE
LOWbeetsplug/embedart.py142 except Exception as e:CODE
LOWbeetsplug/thumbnails.py173 except Exception:CODE
LOWbeetsplug/inline.py103 except Exception as exc:CODE
LOWbeetsplug/inline.py115 except Exception as exc:CODE
LOWbeetsplug/replace.py113 except Exception as e:CODE
LOWbeetsplug/replace.py122 except Exception as e:CODE
MEDIUMbeetsplug/bpd/gstplayer.py105 print(f"Error: {err}")CODE
LOWbeetsplug/bpd/__init__.py918 except Exception:CODE
LOWbeetsplug/bpd/__init__.py1041 except Exception:CODE
LOWbeetsplug/lastgenre/client.py76 except Exception as exc:CODE
LOWbeetsplug/metasync/itunes.py72 except Exception:CODE
LOWbeetsplug/discogs/__init__.py475 except Exception as exc:CODE
LOWbeets/plugins.py422 except Exception as exc:CODE
LOWbeets/plugins.py440 except Exception:CODE
LOWbeets/metadata_plugins.py70 except Exception as e:CODE
LOWbeets/metadata_plugins.py421 except Exception as e:CODE
MEDIUMbeets/metadata_plugins.py191def data_source_mismatch_penalty(self) -> float:CODE
LOWbeets/importer/tasks.py1119 except Exception as exc:CODE
LOWbeets/importer/state.py80 except Exception as exc:CODE
MEDIUMbeets/importer/state.py73def _open(self) -> None:CODE
LOWbeets/util/__init__.py632 except Exception as exc:CODE
LOWbeets/util/functemplate.py158 except Exception as exc:CODE
LOWbeets/util/functemplate.py526 except Exception: # Handle any exceptions thrown by compiled version.CODE
Redundant / Tautological Comments13 hits · 19 pts
SeverityFileLineSnippetContext
LOWtest/plugins/test_web.py763 # Check if any user data fields are using non-escaping <%= %>COMMENT
LOWtest/plugins/test_replaygain.py93 # Check if required plugins can be loaded by instantiating aCOMMENT
LOWbeetsplug/titlecase.py212 # Check if A-Z is all uppercase or all lowercaseCOMMENT
LOWbeetsplug/play.py154 # Check if the selection exceeds configured threshold. If True,COMMENT
LOWbeetsplug/ipfs.py148 # Check if query is a hashCOMMENT
LOWbeetsplug/absubmit.py158 # Close the file, so the extractor can overwrite it.COMMENT
LOWbeetsplug/spotify.py271 # Check if this is the audio features endpointCOMMENT
LOWbeetsplug/embyupdate.py171 # Check if at least a apikey or password is given.COMMENT
LOWbeets/importer/tasks.py1135 # Check if the file has an extension,COMMENT
LOWbeets/util/artresizer.py652 # Check if a local backend is available, and store an instance of theCOMMENT
LOWbeets/util/lyrics.py56 # Set seed to 0 for deterministic resultsCOMMENT
LOWbeets/library/models.py941 # Open the file.COMMENT
LOWbeets/autotag/match.py65 # Assign items to tracksCOMMENT
AI Slop Vocabulary10 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMbeetsplug/web/static/jquery.js9255// AMD modules. A named AMD is safest and most robust way to register.COMMENT
LOWbeetsplug/tidal/__init__.py120 # We just return early here as a lookup via isrc shouldCOMMENT
LOWbeetsplug/tidal/__init__.py143 # We just return early here as a lookup via isrc shouldCOMMENT
MEDIUMbeets/exceptions.py2 """UI exception. Commands should throw this in order to displaySTRING
MEDIUMbeets/ui/__init__.py71 # test harness, it doesn't have an `encoding` attribute. Just useCOMMENT
LOWbeets/importer/tasks.py1203 # and add the current directory. If so, just add the directoryCOMMENT
MEDIUMbeets/test/helper.py458# A test harness for all beets tests.COMMENT
LOWbeets/util/__init__.py1085 # Therefore, we just use `Any` here, which is not ideal, but works.COMMENT
LOWbeets/util/functemplate.py347 # Start of a group has no meaning hear; just passCOMMENT
MEDIUMbeets/util/pipeline.py1"""Simple but robust implementation of generator/coroutine-basedSTRING
Modern Structural Boilerplate17 hits · 17 pts
SeverityFileLineSnippetContext
LOWbeetsplug/mbcollection.py185 def update_collection(self, lib: Library, opts, args) -> None:CODE
LOWbeetsplug/smartplaylist.py179 def update_cmd(self, lib: Library, opts: Any, args: list[str]) -> None:CODE
LOWbeetsplug/smartplaylist.py371 def update_playlists(self, lib: Library) -> None:CODE
LOWbeetsplug/_utils/__init__.py3__all__ = ["art", "vfs"]CODE
LOWbeets/logging.py45__all__ = [CODE
LOWbeets/context.py13def set_music_dir(value: bytes) -> None:CODE
LOWbeets/ui/commands/version.py23__all__ = ["version_cmd"]CODE
LOWbeets/ui/commands/__init__.py53__all__ = ["default_commands"]CODE
LOWbeets/importer/tasks.py158 def set_choice(self, choice: Action | AlbumMatch | TrackMatch) -> None:CODE
LOWbeets/importer/tasks.py275 def set_fields(self, lib: library.Library) -> None:CODE
LOWbeets/importer/tasks.py751 def set_fields(self, lib: library.Library) -> None:CODE
LOWbeets/importer/tasks.py804 def set_choice(self, choice: Action | AlbumMatch | TrackMatch) -> None:CODE
LOWbeets/importer/session.py91 def set_config(self, config: confuse.ConfigView) -> None:CODE
LOWbeets/importer/__init__.py16__all__ = [CODE
LOWbeets/library/__init__.py19__all__ = [CODE
LOWbeets/autotag/__init__.py34__all__ = [CODE
LOWbeets/dbcore/__init__.py21__all__ = [CODE
Over-Commented Block12 hits · 11 pts
SeverityFileLineSnippetContext
LOWtest/ui/test_ui.py181 with open(self.env_config_path, "w") as file:COMMENT
LOWtest/ui/test_ui.py201 # '--config', cli_config_path_2, 'test')COMMENT
LOWbeetsplug/web/static/underscore.js1// Underscore.js 1.2.2COMMENT
LOWbeetsplug/web/static/backbone.js1// Backbone.js 0.5.3COMMENT
LOWbeetsplug/web/static/backbone.js41 return this;COMMENT
LOWbeetsplug/web/static/backbone.js61 //COMMENT
LOWbeetsplug/web/static/backbone.js941 // *{"event selector": "callback"}*COMMENT
LOWbeetsplug/web/static/backbone.js1021 // -------------COMMENT
LOWbeetsplug/web/static/jquery.js1381COMMENT
LOWbeetsplug/web/static/jquery.js9241COMMENT
LOWbeets/ui/commands/completion_base.sh1# Completion for the `beet` commandCOMMENT
LOWbeets/ui/commands/completion_base.sh21# ----COMMENT
Overly Generic Function Names8 hits · 8 pts
SeverityFileLineSnippetContext
LOWtest/plugins/test_aura.py15def helper(session_helper):CODE
LOWtest/plugins/test_lyrics.py34def helper(module_helper):CODE
LOWtest/plugins/test_random.py12def helper(class_helper):CODE
LOWtest/dbcore/test_sort.py23def helper(class_helper):CODE
LOWtest/dbcore/test_query.py42def helper(class_helper):CODE
LOWbeetsplug/lyrics.py221 def handle_request(self) -> Iterator[None]:CODE
LOWbeets/plugins.py344 def helper(func: TFunc[str]) -> TFunc[str]:CODE
LOWbeets/plugins.py358 def helper(func: TFunc[Item]) -> TFunc[Item]:CODE
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHbeets/dbcore/db.py504 setattr(self, key, self._type(key).null)CODE
Decorative Section Separators1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbeets/ui/commands/completion_base.sh2# =================================COMMENT
AI Structural Patterns3 hits · 3 pts
SeverityFileLineSnippetContext
LOWbeets/autotag/hooks.py207CODE
LOWbeets/autotag/hooks.py322CODE
LOWbeets/autotag/hooks.py442CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWbeetsplug/missing.py249 # TODO: Implement caching that without breaking other stuffCOMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtest/rsrc/lyrics/examplecom/beetssong.txt353cf_page_artist = 'John Doe';CODE