AI Slop Code RIsk Monitor

beetbox/beets

music library manager and MusicBrainz tagger

16.1 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for beetbox/beets, a Python project with 15,778 GitHub stars. SynthScan examined 117,978 lines of code across 359 source files, recording 1668 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 16.1 (Elevated pattern signal); it is not an authorship estimate.

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

16.1
Adjusted Signal
16.1
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
15.8K
Stars
Python
Language
118.0K
Lines of Code
359
Files
1.7K
Pattern Hits
2026-10-12
Scan Date
0.11
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 44.5/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 9.9/100 · LOW

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

Agent Over-Engineering Ratio 45.4/100 · MEDIUM

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

PR Review Velocity Impact 56.0/100 · HIGH

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

What These Metrics Mean

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

Pattern-Signal History

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

Severity Breakdown

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

CRITICAL 0HIGH 40MEDIUM 35LOW 1593

Directory Score Breakdown

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

Pattern Findings

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

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

Hyper-Verbose Identifiers1161 hits · 1164 pts
SeverityFileLineSnippetContext
LOW⚡test/test_library.py58 def test_load_restores_data_from_db(self, item_in_db):CODE
LOW⚡test/test_library.py64 def test_load_clears_dirty_flags(self, item_in_db):CODE
LOW⚡test/test_library.py72 def test_store_changes_database_value(self, item_in_db):CODE
LOW⚡test/test_library.py79 def test_store_only_writes_dirty_fields(self, item_in_db):CODE
LOW⚡test/test_library.py86 def test_store_clears_dirty_flags(self, item_in_db):CODE
LOW⚡test/test_library.py91 def test_store_album_cascades_flex_deletes(self):CODE
LOW⚡test/test_library.py171 def test_set_does_not_dirty_if_value_unchanged(self, item):CODE
LOW⚡test/test_library.py175 def test_set_memoryview_path_normalizes_to_bytes(self, item):CODE
LOW⚡test/test_library.py182 def test_invalid_field_raises_attributeerror(self, item):CODE
LOW⚡test/test_library.py207 def test_directory_works_with_trailing_slash(self, item_in_db):CODE
LOW⚡test/test_library.py212 def test_directory_works_without_trailing_slash(self, item_in_db):CODE
LOW⚡test/test_library.py217 def test_destination_substitutes_metadata_values(self, item_in_db):CODE
LOW⚡test/test_library.py225 def test_destination_preserves_extension(self, item_in_db):CODE
LOW⚡test/test_library.py231 def test_lower_case_extension(self, item_in_db):CODE
LOW⚡test/test_library.py237 def test_destination_pads_some_indices(self, item_in_db):CODE
LOW⚡test/test_library.py249 def test_destination_pads_date_values(self, item_in_db):CODE
LOW⚡test/test_library.py257 def test_destination_escapes_slashes(self, item_in_db):CODE
LOW⚡test/test_library.py265 def test_destination_escapes_leading_dot(self, item_in_db):CODE
LOW⚡test/test_library.py272 def test_destination_preserves_legitimate_slashes(self, item_in_db):CODE
LOW⚡test/test_library.py279 def test_destination_long_names_truncated(self, item_in_db):CODE
LOW⚡test/test_library.py285 def test_destination_long_names_keep_extension(self, item_in_db):CODE
LOW⚡test/test_library.py291 def test_distination_windows_removes_both_separators(self, item_in_db):CODE
LOW⚡test/test_library.py346 def test_multi_value_string_query_path(self, item_in_db):CODE
LOW⚡test/test_library.py355 def test_multi_value_match_query_path(self, item_in_db):CODE
LOW⚡test/test_library.py364 def test_multi_value_string_query_path_no_substring_match(self, item_in_db):CODE
LOW⚡test/test_library.py373 def test_albumtype_query_path(self, item_in_db):CODE
LOW⚡test/test_library.py397 def test_get_formatted_does_not_replace_separators(self, item_in_db):CODE
LOW⚡test/test_library.py404 def test_get_formatted_pads_with_zero(self, item_in_db):CODE
LOW⚡test/test_library.py410 def test_get_formatted_uses_kbps_bitrate(self, item_in_db):CODE
LOW⚡test/test_library.py416 def test_get_formatted_uses_khz_samplerate(self, item_in_db):CODE
LOW⚡test/test_library.py422 def test_get_formatted_datetime(self, item_in_db):CODE
LOW⚡test/test_library.py434 def test_artist_falls_back_to_albumartist(self, item_in_db):CODE
LOW⚡test/test_library.py441 def test_albumartist_falls_back_to_artist(self, item_in_db):CODE
LOW⚡test/test_library.py448 def test_artist_overrides_albumartist(self, item_in_db):CODE
LOW⚡test/test_library.py455 def test_albumartist_overrides_artist(self, item_in_db):CODE
LOW⚡test/test_library.py462 def test_unicode_extension_in_fragment(self, item_in_db):CODE
LOW⚡test/test_library.py469 def test_asciify_character_expanding_to_slash(self, item_in_db):CODE
LOW⚡test/test_library.py476 def test_destination_with_replacements(self, item_in_db):CODE
LOW⚡test/test_library.py484 def test_destination_stays_in_basedir_with_empty_leading_field(CODE
LOW⚡test/test_library.py528 def test_album_field_in_template(self, item_in_db):CODE
LOW⚡test/test_library.py538 def test_formatted_item_value(self, item_in_db):CODE
LOW⚡test/test_library.py547 def test_get_method_with_default(self, item_in_db):CODE
LOW⚡test/test_library.py551 def test_get_method_with_specified_default(self, item_in_db):CODE
LOW⚡test/test_library.py579 def test_artist_falls_back_to_albumartist(self, item_in_db):CODE
LOW⚡test/test_library.py584 def test_albumartist_falls_back_to_artist(self, item_in_db):CODE
LOW⚡test/test_library.py589 def test_both_artist_and_albumartist_empty(self, item_in_db):CODE
LOW⚡test/test_library.py680 def test_nonexistent_function(self, item):CODE
LOW⚡test/test_library.py684 def test_if_def_field_return_self(self, item):CODE
LOW⚡test/test_library.py689 def test_if_def_field_not_defined(self, item):CODE
LOW⚡test/test_library.py742 def test_unique_expands_to_disambiguating_year(self, items):CODE
LOW⚡test/test_library.py746 def test_unique_with_default_arguments_uses_albumtype(self, items):CODE
LOW⚡test/test_library.py754 def test_unique_expands_to_nothing_for_distinct_albums(self, items):CODE
LOW⚡test/test_library.py762 def test_adding_album_invalidates_memoized_result(self, items):CODE
LOW⚡test/test_library.py888 def test_sunique_expands_to_disambiguating_year(self, items):CODE
LOW⚡test/test_library.py892 def test_sunique_with_default_arguments_uses_trackdisambig(self, items):CODE
LOW⚡test/test_library.py900 def test_sunique_expands_to_nothing_for_distinct_singletons(self, items):CODE
LOW⚡test/test_library.py908 def test_unique_separates_raw_query_groups(self, items, singleton_first):CODE
LOW⚡test/test_library.py939 def test_store_invalidates_disambiguator(self, items):CODE
LOW⚡test/test_library.py947 def test_sunique_does_not_match_album(self, items):CODE
LOW⚡test/test_library.py952 def test_sunique_skips_config_for_album_item(self, items):CODE
1101 more matches not shown…
Unused Imports235 hits · 232 pts
SeverityFileLineSnippetContext
LOWtest/test_library.py3CODE
LOWtest/conftest.py1CODE
LOWtest/test_importer.py3CODE
LOWtest/plugins/test_discogs.py3CODE
LOWtest/plugins/test_albumtypes.py3CODE
LOWtest/plugins/test_fetchart.py1CODE
LOWtest/plugins/test_subsonicupdate.py3CODE
LOWtest/plugins/conftest.py1CODE
LOWtest/plugins/test_musicbrainz.py3CODE
LOWtest/plugins/test_hook.py1CODE
LOWtest/plugins/test_importadded_convert.py3CODE
LOWtest/plugins/test_convert.py1CODE
LOWtest/plugins/test_plexupdate.py3CODE
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_importadded.py3CODE
LOWtest/plugins/test_art.py3CODE
LOWbeetsplug/duplicates.py3CODE
LOWbeetsplug/replaygain.py1CODE
LOWbeetsplug/fuzzy.py3CODE
LOWbeetsplug/missing.py3CODE
LOWbeetsplug/titlecase.py5CODE
LOWbeetsplug/bucket.py3CODE
LOWbeetsplug/_typing.py1CODE
LOWbeetsplug/autobpm.py3CODE
LOWbeetsplug/advancedrewrite.py3CODE
LOWbeetsplug/acousticbrainz.py3CODE
LOWbeetsplug/fetchart.py3CODE
LOWbeetsplug/mbcollection.py1CODE
LOWbeetsplug/convert.py3CODE
LOWbeetsplug/plexupdate.py13CODE
LOWbeetsplug/musicbrainz.py3CODE
LOWbeetsplug/hook.py3CODE
LOWbeetsplug/lyrics.py3CODE
LOWbeetsplug/mbsync.py3CODE
LOWbeetsplug/ftintitle.py3CODE
LOWbeetsplug/bpm.py3CODE
LOWbeetsplug/importfeeds.py6CODE
LOWbeetsplug/edit.py3CODE
LOWbeetsplug/mpdstats.py1CODE
LOWbeetsplug/fromfilename.py5CODE
LOWbeetsplug/limit.py10CODE
LOWbeetsplug/export.py3CODE
LOWbeetsplug/zero.py3CODE
LOWbeetsplug/loadext.py3CODE
LOWbeetsplug/play.py3CODE
LOWbeetsplug/random.py1CODE
LOWbeetsplug/bench.py3CODE
LOWbeetsplug/mbsubmit.py10CODE
LOWbeetsplug/keyfinder.py3CODE
LOWbeetsplug/lastimport.py1CODE
LOWbeetsplug/bareasc.py7CODE
LOWbeetsplug/bpsync.py3CODE
LOWbeetsplug/kodiupdate.py12CODE
175 more matches not shown…
Empty Error Handlers29 hits · 145 pts
SeverityFileLineSnippetContext
HIGHtest/plugins/test_mpdstats.py61except KeyboardInterrupt:CODE
HIGHtest/plugins/test_bpd.py26except RuntimeError:CODE
HIGHbeetsplug/replaygain.py1560except SystemExit:CODE
HIGHbeetsplug/replaygain.py1627except (SystemExit, KeyboardInterrupt):CODE
HIGHbeetsplug/replaygain.py1254except queue.Empty:CODE
HIGHbeetsplug/fetchart.py571except KeyError:CODE
HIGHbeetsplug/mpdstats.py167except mpd.ConnectionError:CODE
HIGHbeetsplug/mpdstats.py435except KeyboardInterrupt:CODE
HIGHbeetsplug/aura.py673except ImportError:CODE
HIGHbeetsplug/ipfs.py139except AttributeError:CODE
HIGHbeetsplug/ipfs.py328except AttributeError:CODE
HIGHbeetsplug/ipfs.py168except IndexError:CODE
HIGHbeetsplug/ipfs.py318except AttributeError:CODE
HIGHbeetsplug/mbpseudo.py82except ValueError:CODE
HIGHbeetsplug/absubmit.py81except ABSubmitError:CODE
HIGHbeetsplug/beatport.py290except ValueError:CODE
HIGHbeetsplug/web/__init__.py263except ValueError:CODE
HIGHbeetsplug/bpd/__init__.py1251except ArgumentNotFoundError:CODE
HIGHbeetsplug/bpd/__init__.py877except ConnectionError:CODE
HIGHbeetsplug/discogs/states.py255except IndexError:CODE
HIGHbeets/__init__.py35except confuse.NotFoundError:CODE
HIGHbeets/ui/__init__.py43except ImportError:CODE
HIGHbeets/ui/commands/modify.py173except KeyError:CODE
HIGHbeets/importer/tasks.py1208except ImportError:CODE
HIGHbeets/importer/tasks.py1214except ImportError:CODE
HIGHbeets/importer/session.py240except ImportAbortError:CODE
HIGHbeets/util/__init__.py535except OSError:CODE
HIGHbeets/library/models.py267except KeyError:CODE
HIGHbeets/dbcore/query.py741except ValueError:CODE
Deep Nesting93 hits · 92 pts
SeverityFileLineSnippetContext
LOWtest/util/test_functemplate.py8CODE
LOWtest/plugins/test_bpd.py124CODE
LOWtest/plugins/test_bpd.py331CODE
LOWbeetsplug/duplicates.py361CODE
LOWbeetsplug/replaygain.py962CODE
LOWbeetsplug/replaygain.py965CODE
LOWbeetsplug/titlecase.py173CODE
LOWbeetsplug/advancedrewrite.py103CODE
LOWbeetsplug/acousticbrainz.py170CODE
LOWbeetsplug/acousticbrainz.py275CODE
LOWbeetsplug/fetchart.py99CODE
LOWbeetsplug/fetchart.py260CODE
LOWbeetsplug/fetchart.py423CODE
LOWbeetsplug/fetchart.py526CODE
LOWbeetsplug/fetchart.py900CODE
LOWbeetsplug/fetchart.py1130CODE
LOWbeetsplug/fetchart.py1286CODE
LOWbeetsplug/fetchart.py1536CODE
LOWbeetsplug/fetchart.py1580CODE
LOWbeetsplug/fetchart.py534CODE
LOWbeetsplug/convert.py422CODE
LOWbeetsplug/convert.py590CODE
LOWbeetsplug/musicbrainz.py714CODE
LOWbeetsplug/lyrics.py1272CODE
LOWbeetsplug/mbsync.py110CODE
LOWbeetsplug/importfeeds.py96CODE
LOWbeetsplug/edit.py414CODE
LOWbeetsplug/edit.py445CODE
LOWbeetsplug/types.py16CODE
LOWbeetsplug/zero.py34CODE
LOWbeetsplug/zero.py100CODE
LOWbeetsplug/bpsync.py145CODE
LOWbeetsplug/aura.py243CODE
LOWbeetsplug/deezer.py265CODE
LOWbeetsplug/listenbrainz.py202CODE
LOWbeetsplug/playlist.py155CODE
LOWbeetsplug/subsonicplaylist.py30CODE
LOWbeetsplug/subsonicplaylist.py111CODE
LOWbeetsplug/subsonicplaylist.py182CODE
LOWbeetsplug/subsonicplaylist.py112CODE
LOWbeetsplug/ipfs.py308CODE
LOWbeetsplug/badfiles.py204CODE
LOWbeetsplug/importsource.py71CODE
LOWbeetsplug/mbpseudo.py190CODE
LOWbeetsplug/chroma.py467CODE
LOWbeetsplug/embedart.py105CODE
LOWbeetsplug/embedart.py130CODE
LOWbeetsplug/spotify.py831CODE
LOWbeetsplug/the.py18CODE
LOWbeetsplug/bpd/gstplayer.py224CODE
LOWbeetsplug/bpd/__init__.py435CODE
LOWbeetsplug/bpd/__init__.py934CODE
LOWbeetsplug/bpd/__init__.py1310CODE
LOWbeetsplug/bpd/__init__.py1497CODE
LOWbeetsplug/discogs/__init__.py511CODE
LOWbeetsplug/discogs/__init__.py601CODE
LOWbeets/ui/__init__.py212CODE
LOWbeets/ui/__init__.py397CODE
LOWbeets/ui/__init__.py522CODE
LOWbeets/ui/commands/update.py32CODE
33 more matches not shown…
Self-Referential Comments24 hits · 68 pts
SeverityFileLineSnippetContext
MEDIUMtest/plugins/test_web.py308 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py333 # Create an item with a fileCOMMENT
MEDIUMtest/plugins/test_web.py361 # Create an item with a fileCOMMENT
MEDIUMtest/plugins/test_web.py388 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py425 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py452 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py479 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py504 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py541 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py568 # Create a temporary albumCOMMENT
MEDIUMtest/plugins/test_web.py599 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_web.py641 # Create a temporary itemCOMMENT
MEDIUMtest/plugins/test_bpd.py342 # Create a config file:COMMENT
MEDIUMtest/plugins/test_lastgenre.py762 # Initialize plugin instance and itemCOMMENT
MEDIUMtest/plugins/test_spotify.py191 # Create a mock item with Japanese metadataCOMMENT
MEDIUMbeetsplug/convert.py736 # 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.py35 # 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.py277 # Create a new task for tagging the current itemsCOMMENT
MEDIUMbeets/util/color.py166 # 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.py193 # Create a subexpression that joins the result components ofCOMMENT
MEDIUMbeets/library/library.py133 # Create the album structure using metadata from the first item.COMMENT
Cross-File Repetition9 hits · 45 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/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.py253 except Exception:CODE
LOWbeetsplug/titlecase.py246 except Exception as e:CODE
LOWbeetsplug/autobpm.py109 except Exception as exc:CODE
LOWbeetsplug/autobpm.py116 except Exception as exc:CODE
LOWbeetsplug/deezer.py278 except Exception as e:CODE
LOWbeetsplug/scrub.py93 except Exception:CODE
LOWbeetsplug/subsonicupdate.py167 except Exception as error:CODE
LOWbeetsplug/beatport.py198 except Exception as e:CODE
LOWbeetsplug/embedart.py171 except Exception as e:CODE
LOWbeetsplug/thumbnails.py185 except Exception:CODE
LOWbeetsplug/inline.py116 except Exception as exc:CODE
LOWbeetsplug/inline.py128 except Exception as exc:CODE
LOWbeetsplug/replace.py117 except Exception as e:CODE
LOWbeetsplug/replace.py126 except Exception as e:CODE
MEDIUMbeetsplug/bpd/gstplayer.py115 print(f"Error: {err}")CODE
LOWbeetsplug/bpd/__init__.py1035 except Exception:CODE
LOWbeetsplug/bpd/__init__.py1163 except Exception:CODE
LOWbeetsplug/lastgenre/client.py78 except Exception as exc:CODE
LOWbeetsplug/metasync/itunes.py82 except Exception:CODE
LOWbeetsplug/discogs/__init__.py517 except Exception as exc:CODE
LOWbeets/plugins.py527 except Exception as exc:CODE
LOWbeets/plugins.py545 except Exception:CODE
LOWbeets/metadata_plugins.py72 except Exception as e:CODE
LOWbeets/metadata_plugins.py427 except Exception as e:CODE
MEDIUMbeets/metadata_plugins.py193def data_source_mismatch_penalty(self) -> float:CODE
LOWbeets/importer/tasks.py1454 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__.py642 except Exception as exc:CODE
LOWbeets/util/functemplate.py175 except Exception as exc:CODE
LOWbeets/util/functemplate.py559 except Exception: # Handle any exceptions thrown by compiled version.CODE
Modern Structural Boilerplate26 hits · 26 pts
SeverityFileLineSnippetContext
LOWbeetsplug/mpdstats.py266 def update_rating(self, item: Item | None, skipped: bool) -> None:CODE
LOWbeetsplug/zero.py100 def _set_pattern(self, field: str) -> None:CODE
LOWbeetsplug/importadded.py122 def update_album_times(self, lib: Library, album: Album) -> None:CODE
LOWbeetsplug/importadded.py147 def update_item_times(self, lib: Library, item: Item) -> None:CODE
LOWbeetsplug/importadded.py165 def update_after_write_time(self, item: Item, path: bytes) -> None:CODE
LOWbeetsplug/playlist.py155 def update_playlist(self, filename: str, base_dir: bytes) -> None:CODE
LOWbeetsplug/smartplaylist.py386 def update_playlists(self, lib: Library) -> None:CODE
LOWbeetsplug/_utils/__init__.py3__all__ = ["art", "vfs"]CODE
LOWbeetsplug/bpd/gstplayer.py118 def _set_volume(self, volume: float) -> None:CODE
LOWbeets/logging.py45__all__ = [CODE
LOWbeets/logging.py196 def set_global_level(self, level: int) -> None:CODE
LOWbeets/context.py19def set_music_dir(value: bytes) -> None:CODE
LOWbeets/ui/commands/update.py169def update_func(lib: Library, opts: UpdateCLIOpts, args: list[str]) -> None:CODE
LOWbeets/ui/commands/version.py31__all__ = ["version_cmd"]CODE
LOWbeets/ui/commands/__init__.py60__all__ = ["default_commands"]CODE
LOWbeets/importer/tasks.py272 def set_choice(self, choice: Action | AlbumMatch | TrackMatch) -> None:CODE
LOWbeets/importer/tasks.py476 def set_fields(self, lib: library.Library) -> None:CODE
LOWbeets/importer/tasks.py985 def set_fields(self, lib: library.Library) -> None:CODE
LOWbeets/importer/tasks.py1038 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/models.py580 def set_art(self, path: bytes, copy: bool = True) -> None:CODE
LOWbeets/library/__init__.py21__all__ = [CODE
LOWbeets/autotag/__init__.py36__all__ = [CODE
LOWbeets/dbcore/db.py715 def set_parse(self, key: str, string: str) -> None:CODE
LOWbeets/dbcore/__init__.py21__all__ = [CODE
Redundant / Tautological Comments13 hits · 19 pts
SeverityFileLineSnippetContext
LOWtest/plugins/test_web.py742 # Check if any user data fields are using non-escaping <%= %>COMMENT
LOWtest/plugins/test_replaygain.py86 # Check if required plugins can be loaded by instantiating aCOMMENT
LOWbeetsplug/titlecase.py215 # Check if A-Z is all uppercase or all lowercaseCOMMENT
LOWbeetsplug/play.py177 # Check if the selection exceeds configured threshold. If True,COMMENT
LOWbeetsplug/ipfs.py177 # Check if query is a hashCOMMENT
LOWbeetsplug/absubmit.py187 # Close the file, so the extractor can overwrite it.COMMENT
LOWbeetsplug/spotify.py280 # Check if this is the audio features endpointCOMMENT
LOWbeetsplug/embyupdate.py181 # Check if at least a apikey or password is given.COMMENT
LOWbeets/importer/tasks.py1470 # Check if the file has an extension,COMMENT
LOWbeets/util/artresizer.py633 # 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.py991 # 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__.py142 # We just return early here as a lookup via isrc shouldCOMMENT
LOWbeetsplug/tidal/__init__.py165 # 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__.py76 # test harness, it doesn't have an `encoding` attribute. Just useCOMMENT
LOWbeets/importer/tasks.py1555 # and add the current directory. If so, just add the directoryCOMMENT
MEDIUMbeets/test/helper.py391# A test harness for all beets tests.COMMENT
LOWbeets/util/__init__.py1096 # Therefore, we just use `Any` here, which is not ideal, but works.COMMENT
LOWbeets/util/functemplate.py374 # Start of a group has no meaning hear; just passCOMMENT
MEDIUMbeets/util/pipeline.py1"""Simple but robust implementation of generator/coroutine-basedSTRING
Over-Commented Block15 hits · 14 pts
SeverityFileLineSnippetContext
LOWtest/ui/test_ui.py181 self.run_command("--config", str(self.cli_config_path), "test")COMMENT
LOWtest/ui/test_ui.py201 # def test_multiple_cli_config_overwrite(self):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
LOWbeets/util/__init__.py1081 name: str = ""COMMENT
LOWbeets/util/id_extractors.py21 # - plain integer, optionally wrapped in brackets and prefixed by anCOMMENT
LOWbeets/dbcore/db.py1121COMMENT
Cross-Language Confusion2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHbeetsplug/_typing.py21 # Both lyrics fields may be null, even when 'instrumental' is False.COMMENT
HIGHbeets/dbcore/db.py520 setattr(self, key, self._type(key).null)CODE
Overly Generic Function Names9 hits · 9 pts
SeverityFileLineSnippetContext
LOWtest/plugins/test_aura.py15def helper(session_helper):CODE
LOWtest/plugins/test_lyrics.py33def helper(module_helper):CODE
LOWtest/plugins/test_random.py12def helper(class_helper):CODE
LOWtest/dbcore/test_sort.py21def helper(class_helper):CODE
LOWtest/dbcore/test_query.py41def helper(class_helper):CODE
LOWtest/dbcore/test_query.py307 def helper(self):CODE
LOWbeetsplug/lyrics.py246 def handle_request(self) -> Iterator[None]:CODE
LOWbeets/plugins.py449 def helper(func: TFunc[str]) -> TFunc[str]:CODE
LOWbeets/plugins.py463 def helper(func: TFunc[Item]) -> TFunc[Item]: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.py158CODE
LOWbeets/autotag/hooks.py273CODE
LOWbeets/autotag/hooks.py393CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWbeetsplug/missing.py264 # 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