support library scoping on more Jellyfin browsing operations
This commit is contained in:
@@ -73,6 +73,7 @@ func (j *jellyfinMediaProvider) GetLibraries() ([]mediaprovider.Library, error)
|
||||
|
||||
func (j *jellyfinMediaProvider) SetLibrary(id string) error {
|
||||
j.currentLibraryID = id
|
||||
j.genresCached = nil
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -235,15 +236,16 @@ func (j *jellyfinMediaProvider) GetCoverArt(id string, size int) (image.Image, e
|
||||
return j.client.GetItemImage(id, "Primary", size, 92)
|
||||
}
|
||||
|
||||
func (s *jellyfinMediaProvider) GetFavorites() (mediaprovider.Favorites, error) {
|
||||
func (j *jellyfinMediaProvider) GetFavorites() (mediaprovider.Favorites, error) {
|
||||
var wg sync.WaitGroup
|
||||
var favorites mediaprovider.Favorites
|
||||
|
||||
var opts jellyfin.QueryOpts
|
||||
opts.Filter.Favorite = true
|
||||
opts.Filter.ParentID = j.currentLibraryID
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
var opts jellyfin.QueryOpts
|
||||
opts.Filter.Favorite = true
|
||||
al, err := s.client.GetAlbums(opts)
|
||||
al, err := j.client.GetAlbums(opts)
|
||||
if err == nil && len(al) > 0 {
|
||||
favorites.Albums = sharedutil.MapSlice(al, toAlbum)
|
||||
}
|
||||
@@ -252,9 +254,7 @@ func (s *jellyfinMediaProvider) GetFavorites() (mediaprovider.Favorites, error)
|
||||
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
var opts jellyfin.QueryOpts
|
||||
opts.Filter.Favorite = true
|
||||
ar, err := s.client.GetAlbumArtists(opts)
|
||||
ar, err := j.client.GetAlbumArtists(opts)
|
||||
if err == nil && len(ar) > 0 {
|
||||
favorites.Artists = sharedutil.MapSlice(ar, toArtist)
|
||||
}
|
||||
@@ -263,9 +263,7 @@ func (s *jellyfinMediaProvider) GetFavorites() (mediaprovider.Favorites, error)
|
||||
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
var opts jellyfin.QueryOpts
|
||||
opts.Filter.Favorite = true
|
||||
tr, err := s.client.GetSongs(opts)
|
||||
tr, err := j.client.GetSongs(opts)
|
||||
if err == nil && len(tr) > 0 {
|
||||
favorites.Tracks = sharedutil.MapSlice(tr, toTrack)
|
||||
}
|
||||
@@ -281,7 +279,7 @@ func (j *jellyfinMediaProvider) GetGenres() ([]*mediaprovider.Genre, error) {
|
||||
return j.genresCached, nil
|
||||
}
|
||||
|
||||
g, err := j.client.GetGenres(jellyfin.Paging{}, "")
|
||||
g, err := j.client.GetGenres(jellyfin.Paging{}, j.currentLibraryID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user