Prefer torrents with real seeders: resolve connected seeder count from swarm during magnet resolution

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/claude-agent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Alexander
2026-05-11 20:02:02 +02:00
parent 3e8b8153b6
commit ff6bc444d0
3 changed files with 71 additions and 17 deletions
+7 -2
View File
@@ -11,6 +11,7 @@ import (
metadataPb "homelab.lan/music-agregator/gen/metadata/v1"
"homelab.lan/music-agregator/internal/indexer"
"homelab.lan/music-agregator/internal/torrent"
"homelab.lan/music-agregator/internal/tracker"
)
type mockMetadataClient struct {
@@ -154,9 +155,13 @@ type mockResolver struct {
ResolveFunc func(magnetURI string) ([]byte, error)
}
func (m *mockResolver) Resolve(magnetURI string) ([]byte, error) {
func (m *mockResolver) Resolve(magnetURI string) (*tracker.ResolveResult, error) {
if m.ResolveFunc != nil {
return m.ResolveFunc(magnetURI)
data, err := m.ResolveFunc(magnetURI)
if err != nil {
return nil, err
}
return &tracker.ResolveResult{Data: data, ConnectedSeeders: 5}, nil
}
return nil, fmt.Errorf("not mocked")
}