musicbrainz-provider #2

Merged
Mrixs merged 72 commits from musicbrainz-provider into master 2026-08-05 20:19:16 +00:00
3 changed files with 8 additions and 13 deletions
Showing only changes of commit f1839ad9e7 - Show all commits

View File

@@ -97,8 +97,8 @@ func (a *App) Close() {
func (a *App) run(ctx context.Context) error {
// Compute-only scanner hook: scan all monitored artists for missing
// releases and log the count. Notifier/Web UI are out of scope for this
// plan, so results are only logged. This call is non-blocking and
// goroutine-safe; it observes ctx cancellation and returns early.
// plan, so results are only logged. ScanAll is a blocking DB walk over
// every monitored artist; it observes ctx cancellation and returns early.
missing, err := scanner.ScanAll(ctx, a.db, a.cfg.Scanner.FuzzyThreshold)
if err != nil {
if ctx.Err() != nil {

View File

@@ -47,10 +47,13 @@ type TelegramConfig struct {
}
// ScannerConfig holds scanner engine parameters.
//
// Bootleg/Compilation filtering is intentionally unconditional: bootlegs,
// promotions, and pseudo-releases are always excluded (musicbrainz/api.go),
// and compilations are always included. These are not user-toggleable, so
// there are no corresponding config fields.
type ScannerConfig struct {
FuzzyThreshold float64 `yaml:"fuzzy_threshold"`
IgnoreBootlegs bool `yaml:"ignore_bootlegs"`
IncludeCompilations bool `yaml:"include_compilations"`
FuzzyThreshold float64 `yaml:"fuzzy_threshold"`
}
// LoadConfig reads a YAML file from path, parses it, applies defaults,

View File

@@ -35,8 +35,6 @@ telegram:
scanner:
fuzzy_threshold: 0.9
ignore_bootlegs: true
include_compilations: false
`
if err := os.WriteFile(path, []byte(yaml), 0644); err != nil {
t.Fatalf("failed to write config: %v", err)
@@ -68,12 +66,6 @@ scanner:
if cfg.Scanner.FuzzyThreshold != 0.9 {
t.Errorf("expected fuzzy_threshold 0.9, got %f", cfg.Scanner.FuzzyThreshold)
}
if !cfg.Scanner.IgnoreBootlegs {
t.Error("expected ignore_bootlegs true")
}
if cfg.Scanner.IncludeCompilations {
t.Error("expected include_compilations false")
}
}
func TestLoadConfig_Defaults(t *testing.T) {