feat(scanner): add a new option for excluding paths based on a regexp

* Exclude paths based on new exclude pattern option

* Add test for excluded paths

* Add exclude pattern option to docs

* Set exclude regexp only if given argument is set

* Update scanner/scanner.go

---------

Co-authored-by: Senan Kelly <senan@senan.xyz>
This commit is contained in:
Gregor Zurowski
2023-05-06 19:03:11 +02:00
committed by GitHub
parent 74de06430a
commit 1d3877668f
6 changed files with 74 additions and 22 deletions

View File

@@ -45,6 +45,27 @@ func TestTableCounts(t *testing.T) {
is.Equal(artists, 3) // not all artists
}
func TestWithExcludePattern(t *testing.T) {
t.Parallel()
is := is.NewRelaxed(t)
m := mockfs.NewWithExcludePattern(t, "\\/artist-1\\/|track-0.flac$")
m.AddItems()
m.ScanAndClean()
var tracks int
is.NoErr(m.DB().Model(&db.Track{}).Count(&tracks).Error) // not all tracks
is.Equal(tracks, 12)
var albums int
is.NoErr(m.DB().Model(&db.Album{}).Count(&albums).Error) // not all albums
is.Equal(albums, 10) // not all albums
var artists int
is.NoErr(m.DB().Model(&db.Artist{}).Count(&artists).Error) // not all artists
is.Equal(artists, 2) // not all artists
}
func TestParentID(t *testing.T) {
t.Parallel()
is := is.New(t)