From b1543fc5248f2eaf66e8c043ccd91c591e823028 Mon Sep 17 00:00:00 2001 From: sentriz Date: Wed, 30 Dec 2020 21:51:59 +0000 Subject: [PATCH] album update after tag changes with no folder update --- server/db/model.go | 3 +-- server/scanner/scanner.go | 8 +++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/server/db/model.go b/server/db/model.go index 3948dbc..92b92fc 100644 --- a/server/db/model.go +++ b/server/db/model.go @@ -177,8 +177,7 @@ type Album struct { Tracks []*Track ChildCount int `sql:"-"` Duration int `sql:"-"` - ReceivedPaths bool `gorm:"-"` - ReceivedTags bool `gorm:"-"` + ShouldSave bool `sql:"-"` } func (a *Album) SID() *specid.ID { diff --git a/server/scanner/scanner.go b/server/scanner/scanner.go index 55f20c9..c0a21e2 100644 --- a/server/scanner/scanner.go +++ b/server/scanner/scanner.go @@ -325,7 +325,7 @@ func (s *Scanner) callbackPost(fullPath string, info *godirwalk.Dirent) error { // begin taking the current folder off the stack and add it's // parent, cover that we found, etc. folder := s.curFolders.Pop() - if !folder.ReceivedPaths { + if !folder.ShouldSave { return nil } folder.ParentID = s.curFolders.PeekID() @@ -384,7 +384,6 @@ func (s *Scanner) handleFolder(it *item) error { if err := s.db.Save(folder).Error; err != nil { return fmt.Errorf("writing albums table: %w", err) } - folder.ReceivedPaths = true return nil } @@ -479,8 +478,7 @@ func (s *Scanner) handleTrack(it *item) error { // ** begin set album if this is the first track in the folder folder := s.curFolders.Peek() - if !folder.ReceivedPaths || folder.ReceivedTags { - // the folder hasn't been modified or already has it's tags + if folder.ShouldSave { return nil } err = s.trTx. @@ -504,7 +502,7 @@ func (s *Scanner) handleTrack(it *item) error { folder.TagBrainzID = trTags.AlbumBrainzID() folder.TagYear = trTags.Year() folder.TagArtistID = artist.ID - folder.ReceivedTags = true + folder.ShouldSave = true return nil }