feat: allow multi valued tag modes to be configurable

This commit is contained in:
sentriz
2023-09-08 19:58:47 +01:00
parent 9cf48f0f58
commit 8f6610ff86
7 changed files with 180 additions and 73 deletions

View File

@@ -61,8 +61,13 @@ func newMockFS(t testing.TB, dirs []string, excludePattern string) *MockFS {
}
}
multiValueSettings := map[scanner.Tag]scanner.MultiValueSetting{
scanner.Genre: {Mode: scanner.Delim, Delim: ";"},
scanner.AlbumArtist: {Mode: scanner.Multi},
}
tagReader := &tagReader{paths: map[string]*tagReaderResult{}}
scanner := scanner.New(absDirs, dbc, ";", tagReader, excludePattern)
scanner := scanner.New(absDirs, dbc, multiValueSettings, tagReader, excludePattern)
return &MockFS{
t: t,
@@ -383,6 +388,7 @@ func (m *Tags) AlbumArtist() string { return m.RawAlbumArtist }
func (m *Tags) AlbumArtists() []string { return m.RawAlbumArtists }
func (m *Tags) AlbumBrainzID() string { return "" }
func (m *Tags) Genre() string { return m.RawGenre }
func (m *Tags) Genres() []string { return []string{m.RawGenre} }
func (m *Tags) TrackNumber() int { return 1 }
func (m *Tags) DiscNumber() int { return 1 }
func (m *Tags) Year() int { return 2021 }