Rename ExternalInfo to ExternalMetadata

This commit is contained in:
Deluan
2021-02-09 11:41:47 -05:00
parent 5fdd8b32d7
commit 157faad028
7 changed files with 47 additions and 47 deletions
+2 -2
View File
@@ -42,9 +42,9 @@ func CreateSubsonicAPIRouter() *subsonic.Router {
mediaStreamer := core.NewMediaStreamer(dataStore, transcoderTranscoder, transcodingCache) mediaStreamer := core.NewMediaStreamer(dataStore, transcoderTranscoder, transcodingCache)
archiver := core.NewArchiver(dataStore) archiver := core.NewArchiver(dataStore)
players := core.NewPlayers(dataStore) players := core.NewPlayers(dataStore)
externalInfo := core.NewExternalInfo2(dataStore) externalMetadata := core.NewExternalMetadata(dataStore)
scanner := GetScanner() scanner := GetScanner()
router := subsonic.New(dataStore, artwork, mediaStreamer, archiver, players, externalInfo, scanner) router := subsonic.New(dataStore, artwork, mediaStreamer, archiver, players, externalMetadata, scanner)
return router return router
} }
@@ -18,13 +18,13 @@ import (
const unavailableArtistID = "-1" const unavailableArtistID = "-1"
type ExternalInfo interface { type ExternalMetadata interface {
UpdateArtistInfo(ctx context.Context, id string, count int, includeNotPresent bool) (*model.Artist, error) UpdateArtistInfo(ctx context.Context, id string, count int, includeNotPresent bool) (*model.Artist, error)
SimilarSongs(ctx context.Context, id string, count int) (model.MediaFiles, error) SimilarSongs(ctx context.Context, id string, count int) (model.MediaFiles, error)
TopSongs(ctx context.Context, artist 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 ds model.DataStore
} }
@@ -33,11 +33,11 @@ type auxArtist struct {
Name string Name string
} }
func NewExternalInfo2(ds model.DataStore) ExternalInfo { func NewExternalMetadata(ds model.DataStore) ExternalMetadata {
return &externalInfo{ds: ds} 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 := strings.Split(conf.Server.Agents, ",")
order = append(order, agents.PlaceholderAgentName) order = append(order, agents.PlaceholderAgentName)
var res []agents.Interface var res []agents.Interface
@@ -54,7 +54,7 @@ func (e *externalInfo) initAgents(ctx context.Context) []agents.Interface {
return res 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{} var entity interface{}
entity, err := GetEntityByID(ctx, e.ds, id) entity, err := GetEntityByID(ctx, e.ds, id)
if err != nil { if err != nil {
@@ -87,7 +87,7 @@ func clearName(name string) string {
return name 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) allAgents := e.initAgents(ctx)
artist, err := e.getArtist(ctx, id) artist, err := e.getArtist(ctx, id)
if err != nil { if err != nil {
@@ -141,7 +141,7 @@ func (e *externalInfo) UpdateArtistInfo(ctx context.Context, id string, similarC
return &artist.Artist, nil 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) allAgents := e.initAgents(ctx)
artist, err := e.getArtist(ctx, id) artist, err := e.getArtist(ctx, id)
if err != nil { 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) allAgents := e.initAgents(ctx)
artist, err := e.findArtistByName(ctx, artistName) artist, err := e.findArtistByName(ctx, artistName)
if err != nil { if err != nil {
@@ -199,7 +199,7 @@ func (e *externalInfo) TopSongs(ctx context.Context, artistName string, count in
return mfs, nil 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 != "" { if mbid != "" {
mfs, err := e.ds.MediaFile(ctx).GetAll(model.QueryOptions{ mfs, err := e.ds.MediaFile(ctx).GetAll(model.QueryOptions{
Filters: squirrel.Eq{"mbz_track_id": mbid}, 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() start := time.Now()
for _, a := range allAgents { for _, a := range allAgents {
if isDone(ctx) { 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) { count int) ([]agents.Song, error) {
start := time.Now() start := time.Now()
for _, a := range allAgents { for _, a := range allAgents {
@@ -272,7 +272,7 @@ func (e *externalInfo) callGetTopSongs(ctx context.Context, allAgents []agents.I
return nil, nil 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) wg.Add(1)
go func() { go func() {
defer wg.Done() 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) wg.Add(1)
go func() { go func() {
defer wg.Done() 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) wg.Add(1)
go func() { go func() {
defer wg.Done() 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) wg.Add(1)
go func() { go func() {
defer wg.Done() 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 result model.Artists
var notPresent []string var notPresent []string
@@ -407,7 +407,7 @@ func (e *externalInfo) mapSimilarArtists(ctx context.Context, similar []agents.A
return result, nil 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{ artists, err := e.ds.Artist(ctx).GetAll(model.QueryOptions{
Filters: squirrel.Like{"name": artistName}, Filters: squirrel.Like{"name": artistName},
Max: 1, Max: 1,
@@ -425,7 +425,7 @@ func (e *externalInfo) findArtistByName(ctx context.Context, artistName string)
return artist, nil 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 var ids []string
for _, sa := range artist.SimilarArtists { for _, sa := range artist.SimilarArtists {
if sa.ID == unavailableArtistID { if sa.ID == unavailableArtistID {
+1 -1
View File
@@ -12,7 +12,7 @@ var Set = wire.NewSet(
GetImageCache, GetImageCache,
NewArchiver, NewArchiver,
NewNowPlayingRepository, NewNowPlayingRepository,
NewExternalInfo2, NewExternalMetadata,
NewCacheWarmer, NewCacheWarmer,
NewPlayers, NewPlayers,
transcoder.New, transcoder.New,
+15 -15
View File
@@ -23,27 +23,27 @@ const Version = "1.16.1"
type handler = func(http.ResponseWriter, *http.Request) (*responses.Subsonic, error) type handler = func(http.ResponseWriter, *http.Request) (*responses.Subsonic, error)
type Router struct { type Router struct {
DataStore model.DataStore DataStore model.DataStore
Artwork core.Artwork Artwork core.Artwork
Streamer core.MediaStreamer Streamer core.MediaStreamer
Archiver core.Archiver Archiver core.Archiver
Players core.Players Players core.Players
ExternalInfo core.ExternalInfo ExternalMetadata core.ExternalMetadata
Scanner scanner.Scanner Scanner scanner.Scanner
mux http.Handler mux http.Handler
} }
func New(ds model.DataStore, artwork core.Artwork, streamer core.MediaStreamer, archiver core.Archiver, players core.Players, 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{ r := &Router{
DataStore: ds, DataStore: ds,
Artwork: artwork, Artwork: artwork,
Streamer: streamer, Streamer: streamer,
Archiver: archiver, Archiver: archiver,
Players: players, Players: players,
ExternalInfo: externalInfo, ExternalMetadata: externalMetadata,
Scanner: scanner, Scanner: scanner,
} }
r.mux = r.routes() r.mux = r.routes()
return r return r
+6 -6
View File
@@ -18,11 +18,11 @@ import (
type BrowsingController struct { type BrowsingController struct {
ds model.DataStore ds model.DataStore
ei core.ExternalInfo em core.ExternalMetadata
} }
func NewBrowsingController(ds model.DataStore, ei core.ExternalInfo) *BrowsingController { func NewBrowsingController(ds model.DataStore, em core.ExternalMetadata) *BrowsingController {
return &BrowsingController{ds: ds, ei: ei} return &BrowsingController{ds: ds, em: em}
} }
func (c *BrowsingController) GetMusicFolders(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) { 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) count := utils.ParamInt(r, "count", 20)
includeNotPresent := utils.ParamBool(r, "includeNotPresent", false) 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 { if err != nil {
return nil, err return nil, err
} }
@@ -285,7 +285,7 @@ func (c *BrowsingController) GetSimilarSongs(w http.ResponseWriter, r *http.Requ
} }
count := utils.ParamInt(r, "count", 50) 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 { if err != nil {
return nil, err return nil, err
} }
@@ -318,7 +318,7 @@ func (c *BrowsingController) GetTopSongs(w http.ResponseWriter, r *http.Request)
} }
count := utils.ParamInt(r, "count", 50) 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 { if err != nil {
return nil, err return nil, err
} }
+3 -3
View File
@@ -19,8 +19,8 @@ func initSystemController(router *Router) *SystemController {
func initBrowsingController(router *Router) *BrowsingController { func initBrowsingController(router *Router) *BrowsingController {
dataStore := router.DataStore dataStore := router.DataStore
externalInfo := router.ExternalInfo externalMetadata := router.ExternalMetadata
browsingController := NewBrowsingController(dataStore, externalInfo) browsingController := NewBrowsingController(dataStore, externalMetadata)
return browsingController return browsingController
} }
@@ -95,5 +95,5 @@ var allProviders = wire.NewSet(
NewMediaRetrievalController, NewMediaRetrievalController,
NewStreamController, NewStreamController,
NewBookmarksController, 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"),
) )
+1 -1
View File
@@ -20,7 +20,7 @@ var allProviders = wire.NewSet(
NewBookmarksController, NewBookmarksController,
NewLibraryScanningController, NewLibraryScanningController,
core.NewNowPlayingRepository, 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 { func initSystemController(router *Router) *SystemController {