diff --git a/pkg/config/emulator.go b/pkg/config/emulator.go index dda7b486..f7d71fc3 100644 --- a/pkg/config/emulator.go +++ b/pkg/config/emulator.go @@ -60,6 +60,7 @@ type LibretroCoreConfig struct { } type CoreInfo struct { + Id string Name string AltRepo bool } @@ -101,8 +102,8 @@ func (e Emulator) GetSupportedExtensions() []string { } func (l *LibretroConfig) GetCores() (cores []CoreInfo) { - for _, core := range l.Cores.List { - cores = append(cores, CoreInfo{Name: core.Lib, AltRepo: core.AltRepo}) + for k, core := range l.Cores.List { + cores = append(cores, CoreInfo{Id: k, Name: core.Lib, AltRepo: core.AltRepo}) } return } diff --git a/pkg/worker/caged/libretro/manager/http.go b/pkg/worker/caged/libretro/manager/http.go index 1f2dbc88..72826181 100644 --- a/pkg/worker/caged/libretro/manager/http.go +++ b/pkg/worker/caged/libretro/manager/http.go @@ -116,14 +116,24 @@ func (m *Manager) download(cores []config.CoreInfo) (failed []string) { if len(cores) == 0 || m.repo == nil { return } - var prime, second []string + var prime, second, fail []string for _, n := range cores { + if n.Name == "" { + fail = append(fail, n.Id) + continue + } if !n.AltRepo { prime = append(prime, n.Name) } else { second = append(second, n.Name) } } + + if len(prime) == 0 && len(second) == 0 { + m.log.Warn().Msgf("[core-dl] couldn't find info for %v cores, check the config", fail) + return + } + m.log.Info().Msgf("[core-dl] <<< download | main: %v | alt: %v", prime, second) primeFails := m.down(prime, m.repo) if len(primeFails) > 0 && m.altRepo != nil {