Rename ExternalInfo to ExternalMetadata
This commit is contained in:
parent
5fdd8b32d7
commit
157faad028
|
@ -42,9 +42,9 @@ func CreateSubsonicAPIRouter() *subsonic.Router {
|
|||
mediaStreamer := core.NewMediaStreamer(dataStore, transcoderTranscoder, transcodingCache)
|
||||
archiver := core.NewArchiver(dataStore)
|
||||
players := core.NewPlayers(dataStore)
|
||||
externalInfo := core.NewExternalInfo2(dataStore)
|
||||
externalMetadata := core.NewExternalMetadata(dataStore)
|
||||
scanner := GetScanner()
|
||||
router := subsonic.New(dataStore, artwork, mediaStreamer, archiver, players, externalInfo, scanner)
|
||||
router := subsonic.New(dataStore, artwork, mediaStreamer, archiver, players, externalMetadata, scanner)
|
||||
return router
|
||||
}
|
||||
|
||||
|
|
|
@ -18,13 +18,13 @@ import (
|
|||
|
||||
const unavailableArtistID = "-1"
|
||||
|
||||
type ExternalInfo interface {
|
||||
type ExternalMetadata interface {
|
||||
UpdateArtistInfo(ctx context.Context, id string, count int, includeNotPresent bool) (*model.Artist, error)
|
||||
SimilarSongs(ctx context.Context, id string, count int) (model.MediaFiles, error)
|
||||
TopSongs(ctx context.Context, artist string, count int) (model.MediaFiles, error)
|
||||
}
|
||||
|
||||
type externalInfo struct {
|
||||
type externalMetadata struct {
|
||||
ds model.DataStore
|
||||
}
|
||||
|
||||
|
@ -33,11 +33,11 @@ type auxArtist struct {
|
|||
Name string
|
||||
}
|
||||
|
||||
func NewExternalInfo2(ds model.DataStore) ExternalInfo {
|
||||
return &externalInfo{ds: ds}
|
||||
func NewExternalMetadata(ds model.DataStore) ExternalMetadata {
|
||||
return &externalMetadata{ds: ds}
|
||||
}
|
||||
|
||||
func (e *externalInfo) initAgents(ctx context.Context) []agents.Interface {
|
||||
func (e *externalMetadata) initAgents(ctx context.Context) []agents.Interface {
|
||||
order := strings.Split(conf.Server.Agents, ",")
|
||||
order = append(order, agents.PlaceholderAgentName)
|
||||
var res []agents.Interface
|
||||
|
@ -54,7 +54,7 @@ func (e *externalInfo) initAgents(ctx context.Context) []agents.Interface {
|
|||
return res
|
||||
}
|
||||
|
||||
func (e *externalInfo) getArtist(ctx context.Context, id string) (*auxArtist, error) {
|
||||
func (e *externalMetadata) getArtist(ctx context.Context, id string) (*auxArtist, error) {
|
||||
var entity interface{}
|
||||
entity, err := GetEntityByID(ctx, e.ds, id)
|
||||
if err != nil {
|
||||
|
@ -87,7 +87,7 @@ func clearName(name string) string {
|
|||
return name
|
||||
}
|
||||
|
||||
func (e *externalInfo) UpdateArtistInfo(ctx context.Context, id string, similarCount int, includeNotPresent bool) (*model.Artist, error) {
|
||||
func (e *externalMetadata) UpdateArtistInfo(ctx context.Context, id string, similarCount int, includeNotPresent bool) (*model.Artist, error) {
|
||||
allAgents := e.initAgents(ctx)
|
||||
artist, err := e.getArtist(ctx, id)
|
||||
if err != nil {
|
||||
|
@ -141,7 +141,7 @@ func (e *externalInfo) UpdateArtistInfo(ctx context.Context, id string, similarC
|
|||
return &artist.Artist, nil
|
||||
}
|
||||
|
||||
func (e *externalInfo) SimilarSongs(ctx context.Context, id string, count int) (model.MediaFiles, error) {
|
||||
func (e *externalMetadata) SimilarSongs(ctx context.Context, id string, count int) (model.MediaFiles, error) {
|
||||
allAgents := e.initAgents(ctx)
|
||||
artist, err := e.getArtist(ctx, id)
|
||||
if err != nil {
|
||||
|
@ -175,7 +175,7 @@ func (e *externalInfo) SimilarSongs(ctx context.Context, id string, count int) (
|
|||
})
|
||||
}
|
||||
|
||||
func (e *externalInfo) TopSongs(ctx context.Context, artistName string, count int) (model.MediaFiles, error) {
|
||||
func (e *externalMetadata) TopSongs(ctx context.Context, artistName string, count int) (model.MediaFiles, error) {
|
||||
allAgents := e.initAgents(ctx)
|
||||
artist, err := e.findArtistByName(ctx, artistName)
|
||||
if err != nil {
|
||||
|
@ -199,7 +199,7 @@ func (e *externalInfo) TopSongs(ctx context.Context, artistName string, count in
|
|||
return mfs, nil
|
||||
}
|
||||
|
||||
func (e *externalInfo) findMatchingTrack(ctx context.Context, mbid string, artistID, title string) (*model.MediaFile, error) {
|
||||
func (e *externalMetadata) findMatchingTrack(ctx context.Context, mbid string, artistID, title string) (*model.MediaFile, error) {
|
||||
if mbid != "" {
|
||||
mfs, err := e.ds.MediaFile(ctx).GetAll(model.QueryOptions{
|
||||
Filters: squirrel.Eq{"mbz_track_id": mbid},
|
||||
|
@ -233,7 +233,7 @@ func isDone(ctx context.Context) bool {
|
|||
}
|
||||
}
|
||||
|
||||
func (e *externalInfo) callGetMBID(ctx context.Context, allAgents []agents.Interface, artist *auxArtist) {
|
||||
func (e *externalMetadata) callGetMBID(ctx context.Context, allAgents []agents.Interface, artist *auxArtist) {
|
||||
start := time.Now()
|
||||
for _, a := range allAgents {
|
||||
if isDone(ctx) {
|
||||
|
@ -252,7 +252,7 @@ func (e *externalInfo) callGetMBID(ctx context.Context, allAgents []agents.Inter
|
|||
}
|
||||
}
|
||||
|
||||
func (e *externalInfo) callGetTopSongs(ctx context.Context, allAgents []agents.Interface, artist *auxArtist,
|
||||
func (e *externalMetadata) callGetTopSongs(ctx context.Context, allAgents []agents.Interface, artist *auxArtist,
|
||||
count int) ([]agents.Song, error) {
|
||||
start := time.Now()
|
||||
for _, a := range allAgents {
|
||||
|
@ -272,7 +272,7 @@ func (e *externalInfo) callGetTopSongs(ctx context.Context, allAgents []agents.I
|
|||
return nil, nil
|
||||
}
|
||||
|
||||
func (e *externalInfo) callGetURL(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, wg *sync.WaitGroup) {
|
||||
func (e *externalMetadata) callGetURL(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, wg *sync.WaitGroup) {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
@ -295,7 +295,7 @@ func (e *externalInfo) callGetURL(ctx context.Context, allAgents []agents.Interf
|
|||
}()
|
||||
}
|
||||
|
||||
func (e *externalInfo) callGetBiography(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, wg *sync.WaitGroup) {
|
||||
func (e *externalMetadata) callGetBiography(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, wg *sync.WaitGroup) {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
@ -321,7 +321,7 @@ func (e *externalInfo) callGetBiography(ctx context.Context, allAgents []agents.
|
|||
}()
|
||||
}
|
||||
|
||||
func (e *externalInfo) callGetImage(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, wg *sync.WaitGroup) {
|
||||
func (e *externalMetadata) callGetImage(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, wg *sync.WaitGroup) {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
@ -354,7 +354,7 @@ func (e *externalInfo) callGetImage(ctx context.Context, allAgents []agents.Inte
|
|||
}()
|
||||
}
|
||||
|
||||
func (e *externalInfo) callGetSimilar(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, limit int, wg *sync.WaitGroup) {
|
||||
func (e *externalMetadata) callGetSimilar(ctx context.Context, allAgents []agents.Interface, artist *auxArtist, limit int, wg *sync.WaitGroup) {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
|
@ -382,7 +382,7 @@ func (e *externalInfo) callGetSimilar(ctx context.Context, allAgents []agents.In
|
|||
}()
|
||||
}
|
||||
|
||||
func (e *externalInfo) mapSimilarArtists(ctx context.Context, similar []agents.Artist, includeNotPresent bool) (model.Artists, error) {
|
||||
func (e *externalMetadata) mapSimilarArtists(ctx context.Context, similar []agents.Artist, includeNotPresent bool) (model.Artists, error) {
|
||||
var result model.Artists
|
||||
var notPresent []string
|
||||
|
||||
|
@ -407,7 +407,7 @@ func (e *externalInfo) mapSimilarArtists(ctx context.Context, similar []agents.A
|
|||
return result, nil
|
||||
}
|
||||
|
||||
func (e *externalInfo) findArtistByName(ctx context.Context, artistName string) (*auxArtist, error) {
|
||||
func (e *externalMetadata) findArtistByName(ctx context.Context, artistName string) (*auxArtist, error) {
|
||||
artists, err := e.ds.Artist(ctx).GetAll(model.QueryOptions{
|
||||
Filters: squirrel.Like{"name": artistName},
|
||||
Max: 1,
|
||||
|
@ -425,7 +425,7 @@ func (e *externalInfo) findArtistByName(ctx context.Context, artistName string)
|
|||
return artist, nil
|
||||
}
|
||||
|
||||
func (e *externalInfo) loadSimilar(ctx context.Context, artist *auxArtist, includeNotPresent bool) error {
|
||||
func (e *externalMetadata) loadSimilar(ctx context.Context, artist *auxArtist, includeNotPresent bool) error {
|
||||
var ids []string
|
||||
for _, sa := range artist.SimilarArtists {
|
||||
if sa.ID == unavailableArtistID {
|
|
@ -12,7 +12,7 @@ var Set = wire.NewSet(
|
|||
GetImageCache,
|
||||
NewArchiver,
|
||||
NewNowPlayingRepository,
|
||||
NewExternalInfo2,
|
||||
NewExternalMetadata,
|
||||
NewCacheWarmer,
|
||||
NewPlayers,
|
||||
transcoder.New,
|
||||
|
|
|
@ -23,27 +23,27 @@ const Version = "1.16.1"
|
|||
type handler = func(http.ResponseWriter, *http.Request) (*responses.Subsonic, error)
|
||||
|
||||
type Router struct {
|
||||
DataStore model.DataStore
|
||||
Artwork core.Artwork
|
||||
Streamer core.MediaStreamer
|
||||
Archiver core.Archiver
|
||||
Players core.Players
|
||||
ExternalInfo core.ExternalInfo
|
||||
Scanner scanner.Scanner
|
||||
DataStore model.DataStore
|
||||
Artwork core.Artwork
|
||||
Streamer core.MediaStreamer
|
||||
Archiver core.Archiver
|
||||
Players core.Players
|
||||
ExternalMetadata core.ExternalMetadata
|
||||
Scanner scanner.Scanner
|
||||
|
||||
mux http.Handler
|
||||
}
|
||||
|
||||
func New(ds model.DataStore, artwork core.Artwork, streamer core.MediaStreamer, archiver core.Archiver, players core.Players,
|
||||
externalInfo core.ExternalInfo, scanner scanner.Scanner) *Router {
|
||||
externalMetadata core.ExternalMetadata, scanner scanner.Scanner) *Router {
|
||||
r := &Router{
|
||||
DataStore: ds,
|
||||
Artwork: artwork,
|
||||
Streamer: streamer,
|
||||
Archiver: archiver,
|
||||
Players: players,
|
||||
ExternalInfo: externalInfo,
|
||||
Scanner: scanner,
|
||||
DataStore: ds,
|
||||
Artwork: artwork,
|
||||
Streamer: streamer,
|
||||
Archiver: archiver,
|
||||
Players: players,
|
||||
ExternalMetadata: externalMetadata,
|
||||
Scanner: scanner,
|
||||
}
|
||||
r.mux = r.routes()
|
||||
return r
|
||||
|
|
|
@ -18,11 +18,11 @@ import (
|
|||
|
||||
type BrowsingController struct {
|
||||
ds model.DataStore
|
||||
ei core.ExternalInfo
|
||||
em core.ExternalMetadata
|
||||
}
|
||||
|
||||
func NewBrowsingController(ds model.DataStore, ei core.ExternalInfo) *BrowsingController {
|
||||
return &BrowsingController{ds: ds, ei: ei}
|
||||
func NewBrowsingController(ds model.DataStore, em core.ExternalMetadata) *BrowsingController {
|
||||
return &BrowsingController{ds: ds, em: em}
|
||||
}
|
||||
|
||||
func (c *BrowsingController) GetMusicFolders(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) {
|
||||
|
@ -236,7 +236,7 @@ func (c *BrowsingController) GetArtistInfo(w http.ResponseWriter, r *http.Reques
|
|||
count := utils.ParamInt(r, "count", 20)
|
||||
includeNotPresent := utils.ParamBool(r, "includeNotPresent", false)
|
||||
|
||||
artist, err := c.ei.UpdateArtistInfo(ctx, id, count, includeNotPresent)
|
||||
artist, err := c.em.UpdateArtistInfo(ctx, id, count, includeNotPresent)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -285,7 +285,7 @@ func (c *BrowsingController) GetSimilarSongs(w http.ResponseWriter, r *http.Requ
|
|||
}
|
||||
count := utils.ParamInt(r, "count", 50)
|
||||
|
||||
songs, err := c.ei.SimilarSongs(ctx, id, count)
|
||||
songs, err := c.em.SimilarSongs(ctx, id, count)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -318,7 +318,7 @@ func (c *BrowsingController) GetTopSongs(w http.ResponseWriter, r *http.Request)
|
|||
}
|
||||
count := utils.ParamInt(r, "count", 50)
|
||||
|
||||
songs, err := c.ei.TopSongs(ctx, artist, count)
|
||||
songs, err := c.em.TopSongs(ctx, artist, count)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -19,8 +19,8 @@ func initSystemController(router *Router) *SystemController {
|
|||
|
||||
func initBrowsingController(router *Router) *BrowsingController {
|
||||
dataStore := router.DataStore
|
||||
externalInfo := router.ExternalInfo
|
||||
browsingController := NewBrowsingController(dataStore, externalInfo)
|
||||
externalMetadata := router.ExternalMetadata
|
||||
browsingController := NewBrowsingController(dataStore, externalMetadata)
|
||||
return browsingController
|
||||
}
|
||||
|
||||
|
@ -95,5 +95,5 @@ var allProviders = wire.NewSet(
|
|||
NewMediaRetrievalController,
|
||||
NewStreamController,
|
||||
NewBookmarksController,
|
||||
NewLibraryScanningController, core.NewNowPlayingRepository, wire.FieldsOf(new(*Router), "DataStore", "Artwork", "Streamer", "Archiver", "ExternalInfo", "Scanner"),
|
||||
NewLibraryScanningController, core.NewNowPlayingRepository, wire.FieldsOf(new(*Router), "DataStore", "Artwork", "Streamer", "Archiver", "ExternalMetadata", "Scanner"),
|
||||
)
|
||||
|
|
|
@ -20,7 +20,7 @@ var allProviders = wire.NewSet(
|
|||
NewBookmarksController,
|
||||
NewLibraryScanningController,
|
||||
core.NewNowPlayingRepository,
|
||||
wire.FieldsOf(new(*Router), "DataStore", "Artwork", "Streamer", "Archiver", "ExternalInfo", "Scanner"),
|
||||
wire.FieldsOf(new(*Router), "DataStore", "Artwork", "Streamer", "Archiver", "ExternalMetadata", "Scanner"),
|
||||
)
|
||||
|
||||
func initSystemController(router *Router) *SystemController {
|
||||
|
|
Loading…
Reference in New Issue