]> Sergey Matveev's repositories - btrtrc.git/commitdiff
In the torrent status, sort trackers by the scheme last
authorMatt Joiner <anacrolix@gmail.com>
Tue, 15 Oct 2019 03:59:23 +0000 (14:59 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 15 Oct 2019 03:59:23 +0000 (14:59 +1100)
torrent.go

index 11ef619a32fa16c6aff8d42f152eebf9927a0103..838011c475b897a844ac5e2193d711f68d47eeaf 100644 (file)
@@ -576,7 +576,15 @@ func (t *Torrent) writeStatus(w io.Writer) {
                tw := tabwriter.NewWriter(w, 0, 0, 2, ' ', 0)
                fmt.Fprintf(tw, "    URL\tNext announce\tLast announce\n")
                for _, ta := range slices.Sort(slices.FromMapElems(t.trackerAnnouncers), func(l, r *trackerScraper) bool {
-                       return l.u.String() < r.u.String()
+                       lu := l.u
+                       ru := r.u
+                       var luns, runs url.URL = lu, ru
+                       luns.Scheme = ""
+                       runs.Scheme = ""
+                       var ml missinggo.MultiLess
+                       ml.StrictNext(luns.String() == runs.String(), luns.String() < runs.String())
+                       ml.StrictNext(lu.String() == ru.String(), lu.String() < ru.String())
+                       return ml.Less()
                }).([]*trackerScraper) {
                        fmt.Fprintf(tw, "    %s\n", ta.statusLine())
                }