From f6e448c1ba4f6a3379d48a790e87a8bd4a4f513a Mon Sep 17 00:00:00 2001 From: Deluan Date: Fri, 20 Mar 2020 00:02:31 -0400 Subject: [PATCH] refactor: removed unused code, unnecessary typecasts and fixed small warnings --- engine/browser.go | 2 +- engine/mock_nowplaying_repo.go | 86 ------------------------------ engine/mock_property_repo.go | 46 ---------------- engine/playlists.go | 6 +-- persistence/persistence.go | 5 -- persistence/playlist_repository.go | 2 +- persistence/property_repository.go | 5 -- persistence/sql_annotations.go | 12 ----- scanner/change_detector.go | 2 +- utils/strings_test.go | 4 +- 10 files changed, 8 insertions(+), 162 deletions(-) delete mode 100644 engine/mock_nowplaying_repo.go delete mode 100644 engine/mock_property_repo.go diff --git a/engine/browser.go b/engine/browser.go index 36234422..3181fb85 100644 --- a/engine/browser.go +++ b/engine/browser.go @@ -37,7 +37,7 @@ func (b *browser) MediaFolders(ctx context.Context) (model.MediaFolders, error) func (b *browser) Indexes(ctx context.Context, mediaFolderId string, ifModifiedSince time.Time) (model.ArtistIndexes, time.Time, error) { // TODO Proper handling of mediaFolderId param - folder, err := b.ds.MediaFolder(ctx).Get(mediaFolderId) + folder, _ := b.ds.MediaFolder(ctx).Get(mediaFolderId) l, err := b.ds.Property(ctx).DefaultGet(model.PropLastScan+"-"+folder.Path, "-1") ms, _ := strconv.ParseInt(l, 10, 64) diff --git a/engine/mock_nowplaying_repo.go b/engine/mock_nowplaying_repo.go deleted file mode 100644 index 718ee55c..00000000 --- a/engine/mock_nowplaying_repo.go +++ /dev/null @@ -1,86 +0,0 @@ -package engine - -import ( - "errors" - "time" -) - -func CreateMockNowPlayingRepo() *MockNowPlaying { - return &MockNowPlaying{} -} - -type MockNowPlaying struct { - NowPlayingRepository - data []NowPlayingInfo - t time.Time - err bool -} - -func (m *MockNowPlaying) SetError(err bool) { - m.err = err -} - -func (m *MockNowPlaying) Enqueue(info *NowPlayingInfo) error { - if m.err { - return errors.New("Error!") - } - - m.data = append(m.data, NowPlayingInfo{}) - copy(m.data[1:], m.data[0:]) - m.data[0] = *info - - if !m.t.IsZero() { - m.data[0].Start = m.t - m.t = time.Time{} - } - - return nil -} - -func (m *MockNowPlaying) Dequeue(playerId int) (*NowPlayingInfo, error) { - if len(m.data) == 0 { - return nil, nil - } - l := len(m.data) - info := m.data[l-1] - m.data = m.data[:l-1] - - return &info, nil -} - -func (m *MockNowPlaying) Count(playerId int) (int64, error) { - return int64(len(m.data)), nil -} - -func (m *MockNowPlaying) GetAll() ([]*NowPlayingInfo, error) { - np, err := m.Head(1) - if np == nil || err != nil { - return nil, err - } - return []*NowPlayingInfo{np}, err -} - -func (m *MockNowPlaying) Head(playerId int) (*NowPlayingInfo, error) { - if len(m.data) == 0 { - return nil, nil - } - info := m.data[0] - return &info, nil -} - -func (m *MockNowPlaying) Tail(playerId int) (*NowPlayingInfo, error) { - if len(m.data) == 0 { - return nil, nil - } - info := m.data[len(m.data)-1] - return &info, nil -} - -func (m *MockNowPlaying) ClearAll() { - m.data = make([]NowPlayingInfo, 0) - m.err = false -} - -func (m *MockNowPlaying) OverrideNow(t time.Time) { - m.t = t -} diff --git a/engine/mock_property_repo.go b/engine/mock_property_repo.go deleted file mode 100644 index d796abd0..00000000 --- a/engine/mock_property_repo.go +++ /dev/null @@ -1,46 +0,0 @@ -package engine - -import ( - "errors" - - "github.com/deluan/navidrome/model" -) - -func CreateMockPropertyRepo() *MockProperty { - return &MockProperty{data: make(map[string]string)} -} - -type MockProperty struct { - model.PropertyRepository - data map[string]string - err bool -} - -func (m *MockProperty) SetError(err bool) { - m.err = err -} - -func (m *MockProperty) Put(id string, value string) error { - if m.err { - return errors.New("Error!") - } - m.data[id] = value - return nil -} - -func (m *MockProperty) Get(id string) (string, error) { - if m.err { - return "", errors.New("Error!") - } - return m.data[id], nil -} - -func (m *MockProperty) DefaultGet(id string, defaultValue string) (string, error) { - v, err := m.Get(id) - - if v == "" { - v = defaultValue - } - - return v, err -} diff --git a/engine/playlists.go b/engine/playlists.go index f4a0a0ae..e1da7748 100644 --- a/engine/playlists.go +++ b/engine/playlists.go @@ -73,15 +73,15 @@ func (p *playlists) Delete(ctx context.Context, playlistId string) error { func (p *playlists) Update(ctx context.Context, playlistId string, name *string, idsToAdd []string, idxToRemove []int) error { pls, err := p.ds.Playlist(ctx).Get(playlistId) + if err != nil { + return err + } owner := p.getUser(ctx) if owner != pls.Owner { return model.ErrNotAuthorized } - if err != nil { - return err - } if name != nil { pls.Name = *name } diff --git a/persistence/persistence.go b/persistence/persistence.go index df896357..d473efc6 100644 --- a/persistence/persistence.go +++ b/persistence/persistence.go @@ -3,7 +3,6 @@ package persistence import ( "context" "reflect" - "sync" "github.com/astaxie/beego/orm" "github.com/deluan/navidrome/db" @@ -11,10 +10,6 @@ import ( "github.com/deluan/navidrome/model" ) -var ( - once sync.Once -) - type SQLStore struct { orm orm.Ormer } diff --git a/persistence/playlist_repository.go b/persistence/playlist_repository.go index bbf4c815..06eb7824 100644 --- a/persistence/playlist_repository.go +++ b/persistence/playlist_repository.go @@ -71,7 +71,7 @@ func (r *playlistRepository) GetWithTracks(id string) (*model.Playlist, error) { continue } pls.Duration += mf.Duration - newTracks = append(newTracks, model.MediaFile(*mf)) + newTracks = append(newTracks, *mf) } pls.Tracks = newTracks return pls, err diff --git a/persistence/property_repository.go b/persistence/property_repository.go index efbbda4e..4bf5fcdc 100644 --- a/persistence/property_repository.go +++ b/persistence/property_repository.go @@ -8,11 +8,6 @@ import ( "github.com/deluan/navidrome/model" ) -type property struct { - ID string `orm:"pk;column(id)"` - Value string -} - type propertyRepository struct { sqlRepository } diff --git a/persistence/sql_annotations.go b/persistence/sql_annotations.go index c1bd23f9..50d092f7 100644 --- a/persistence/sql_annotations.go +++ b/persistence/sql_annotations.go @@ -10,18 +10,6 @@ import ( "github.com/google/uuid" ) -type annotation struct { - AnnID string `json:"annID" orm:"pk;column(ann_id)"` - UserID string `json:"userID" orm:"pk;column(user_id)"` - ItemID string `json:"itemID" orm:"pk;column(item_id)"` - ItemType string `json:"itemType"` - PlayCount int `json:"playCount"` - PlayDate time.Time `json:"playDate"` - Rating int `json:"rating"` - Starred bool `json:"starred"` - StarredAt time.Time `json:"starredAt"` -} - const annotationTable = "annotation" func (r sqlRepository) newSelectWithAnnotation(idField string, options ...model.QueryOptions) SelectBuilder { diff --git a/scanner/change_detector.go b/scanner/change_detector.go index 38392f04..5b51d4b8 100644 --- a/scanner/change_detector.go +++ b/scanner/change_detector.go @@ -46,10 +46,10 @@ func (s *ChangeDetector) Scan(lastModifiedSince time.Time) (changed []string, de func (s *ChangeDetector) loadDir(dirPath string) (children []string, lastUpdated time.Time, err error) { dir, err := os.Open(dirPath) - defer dir.Close() if err != nil { return } + defer dir.Close() dirInfo, err := os.Stat(dirPath) if err != nil { return diff --git a/utils/strings_test.go b/utils/strings_test.go index 6e23e532..53ee8d4a 100644 --- a/utils/strings_test.go +++ b/utils/strings_test.go @@ -6,13 +6,13 @@ import ( func TestLongestCommonPrefix(t *testing.T) { expected := "/Music/iTunes 1/iTunes Media/Music/" - actual := LongestCommonPrefix(test_strings) + actual := LongestCommonPrefix(testStrings) if actual != expected { t.Errorf("Couldn't find longest common prefix: want '%s', got '%s'", expected, actual) } } -var test_strings = []string{ +var testStrings = []string{ "/Music/iTunes 1/iTunes Media/Music/ABBA/Gold_ Greatest Hits/Dancing Queen.m4a", "/Music/iTunes 1/iTunes Media/Music/ABBA/Gold_ Greatest Hits/Mamma Mia.m4a", "/Music/iTunes 1/iTunes Media/Music/Art Blakey/A Night At Birdland, Vol. 1/01 Annoucement By Pee Wee Marquette.m4a",