]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Include webseed urls in MetaInfo.Magnet output
authorMatt Joiner <anacrolix@gmail.com>
Wed, 24 Feb 2021 01:11:41 +0000 (12:11 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Wed, 24 Feb 2021 01:11:47 +0000 (12:11 +1100)
Fixes #469.

metainfo/metainfo.go
metainfo/metainfo_test.go

index 9b06ebd46f86a1219f29b214d6da877a22b8c034..9041fced8ffb17d3329387f988e8b84108866f8e 100644 (file)
@@ -2,6 +2,7 @@ package metainfo
 
 import (
        "io"
+       "net/url"
        "os"
        "time"
 
@@ -80,8 +81,8 @@ func (mi *MetaInfo) Magnet(infoHash *Hash, info *Info) (m Magnet) {
        } else {
                m.InfoHash = mi.HashInfoBytes()
        }
-       //m.Params = make(url.Values)
-       //m.Params["ws"] = mi.UrlList
+       m.Params = make(url.Values)
+       m.Params["ws"] = mi.UrlList
        return
 }
 
index 6aae2b4fec1a3a5cb790ae6ad30035cc5f59207c..63a26d94d31a1c72b2a11ef9360ac87e060563f3 100644 (file)
@@ -6,6 +6,7 @@ import (
        "os"
        "path"
        "path/filepath"
+       "strings"
        "testing"
 
        "github.com/anacrolix/missinggo"
@@ -123,7 +124,14 @@ func TestMetainfoWithListURLList(t *testing.T) {
        require.NoError(t, err)
        assert.Len(t, mi.UrlList, 3)
        qt.Assert(t, mi.Magnet(nil, nil).String(), qt.ContentEquals,
-               "magnet:?xt=urn:btih:d4b197dff199aad447a9a352e31528adbbd97922&tr=http%3A%2F%2Fbt1.archive.org%3A6969%2Fannounce&tr=http%3A%2F%2Fbt2.archive.org%3A6969%2Fannounce")
+               strings.Join([]string{
+                       "magnet:?xt=urn:btih:d4b197dff199aad447a9a352e31528adbbd97922",
+                       "tr=http%3A%2F%2Fbt1.archive.org%3A6969%2Fannounce",
+                       "tr=http%3A%2F%2Fbt2.archive.org%3A6969%2Fannounce",
+                       "ws=https%3A%2F%2Farchive.org%2Fdownload%2F",
+                       "ws=http%3A%2F%2Fia601600.us.archive.org%2F26%2Fitems%2F",
+                       "ws=http%3A%2F%2Fia801600.us.archive.org%2F26%2Fitems%2F",
+               }, "&"))
 }
 
 func TestMetainfoWithStringURLList(t *testing.T) {
@@ -131,7 +139,12 @@ func TestMetainfoWithStringURLList(t *testing.T) {
        require.NoError(t, err)
        assert.Len(t, mi.UrlList, 1)
        qt.Assert(t, mi.Magnet(nil, nil).String(), qt.ContentEquals,
-               "magnet:?xt=urn:btih:9da24e606e4ed9c7b91c1772fb5bf98f82bd9687&tr=http%3A%2F%2Fbt1.archive.org%3A6969%2Fannounce&tr=http%3A%2F%2Fbt2.archive.org%3A6969%2Fannounce")
+               strings.Join([]string{
+                       "magnet:?xt=urn:btih:9da24e606e4ed9c7b91c1772fb5bf98f82bd9687",
+                       "tr=http%3A%2F%2Fbt1.archive.org%3A6969%2Fannounce",
+                       "tr=http%3A%2F%2Fbt2.archive.org%3A6969%2Fannounce",
+                       "ws=https%3A%2F%2Farchive.org%2Fdownload%2F",
+               }, "&"))
 }
 
 // https://github.com/anacrolix/torrent/issues/247