Musiksammlung/tests
dschlueter b30aaa617d Add MusicBrainz barcode lookup (scan --barcode and interactive rip)
- New module musicbrainz.py: lookup_by_barcode() via EAN-13/UPC-12,
  two-step API (barcode search → release detail with recordings),
  respects 1 req/s rate limit with User-Agent header
- cli.py: scan command gets --barcode option as highest-priority mode
  (no images needed); _scan_to_album() dispatches to MusicBrainz first
- ripper.py: interactive_rip() prompts for optional EAN after album name;
  MusicBrainz data (incl. year) takes priority over CDDB for album.json;
  album_root.mkdir() added so JSON can be written even when MB changes dir
- tests: test_musicbrainz.py (16 tests), test_ripper.py +6 barcode tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 06:13:10 +01:00
..
__init__.py Fix and expand tests: 63 tests passing, covers all core modules 2026-02-18 00:00:44 +01:00
test_cli.py Tagger- und CLI-Tests; Bugfix embed_cover für MP3 ohne ID3-Header 2026-02-18 04:37:07 +01:00
test_cover.py Opus/M4A-Cover-Embedding, cover.py-Tests und OCR-Tests 2026-02-18 04:50:13 +01:00
test_llm_parser.py LLM-Parser-Tests, check-Befehl und Cover-Doku 2026-02-18 00:45:49 +01:00
test_models.py Fix and expand tests: 63 tests passing, covers all core modules 2026-02-18 00:00:44 +01:00
test_musicbrainz.py Add MusicBrainz barcode lookup (scan --barcode and interactive rip) 2026-02-18 06:13:10 +01:00
test_ocr.py Opus/M4A-Cover-Embedding, cover.py-Tests und OCR-Tests 2026-02-18 04:50:13 +01:00
test_organizer.py Lint-Fixes, process-Disc-Validierung und Forgejo-CI 2026-02-18 00:51:14 +01:00
test_playlist.py Lint-Fixes, process-Disc-Validierung und Forgejo-CI 2026-02-18 00:51:14 +01:00
test_ripper.py Add MusicBrainz barcode lookup (scan --barcode and interactive rip) 2026-02-18 06:13:10 +01:00
test_tagger.py Opus/M4A-Cover-Embedding, cover.py-Tests und OCR-Tests 2026-02-18 04:50:13 +01:00
test_vision_llm.py Fix and expand tests: 63 tests passing, covers all core modules 2026-02-18 00:00:44 +01:00