From 15fff58d7bc69635c4eec0b1494ae6ea14f68a53 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 28 Apr 2020 09:13:44 +1000 Subject: [PATCH] Rework tracker status lines --- torrent.go | 6 +++--- tracker_scraper.go | 9 ++++----- wstracker.go | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/torrent.go b/torrent.go index 0117094a..b4d17648 100644 --- a/torrent.go +++ b/torrent.go @@ -603,11 +603,11 @@ func (t *Torrent) writeStatus(w io.Writer) { fmt.Fprintf(w, "Enabled trackers:\n") func() { tw := tabwriter.NewWriter(w, 0, 0, 2, ' ', 0) - fmt.Fprintf(tw, " URL\tNext announce\tLast announce\n") + fmt.Fprintf(tw, " URL\tExtra\n") for _, ta := range slices.Sort(slices.FromMapElems(t.trackerAnnouncers), func(l, r torrentTrackerAnnouncer) bool { lu := l.URL() ru := r.URL() - var luns, runs url.URL = lu, ru + var luns, runs url.URL = *lu, *ru luns.Scheme = "" runs.Scheme = "" var ml missinggo.MultiLess @@ -615,7 +615,7 @@ func (t *Torrent) writeStatus(w io.Writer) { ml.StrictNext(lu.String() == ru.String(), lu.String() < ru.String()) return ml.Less() }).([]torrentTrackerAnnouncer) { - fmt.Fprintf(tw, " %s\n", ta.statusLine()) + fmt.Fprintf(tw, " %q\t%v\n", ta.URL(), ta.statusLine()) } tw.Flush() }() diff --git a/tracker_scraper.go b/tracker_scraper.go index ae82da5c..a7d3041c 100644 --- a/tracker_scraper.go +++ b/tracker_scraper.go @@ -24,17 +24,16 @@ type trackerScraper struct { type torrentTrackerAnnouncer interface { statusLine() string - URL() url.URL + URL() *url.URL } -func (me trackerScraper) URL() url.URL { - return me.u +func (me trackerScraper) URL() *url.URL { + return &me.u } func (ts *trackerScraper) statusLine() string { var w bytes.Buffer - fmt.Fprintf(&w, "%q\t%s\t%s", - ts.u.String(), + fmt.Fprintf(&w, "next ann: %v, last ann: %v", func() string { na := time.Until(ts.lastAnnounce.Completed.Add(ts.lastAnnounce.Interval)) if na > 0 { diff --git a/wstracker.go b/wstracker.go index 6f376c55..8c71e514 100644 --- a/wstracker.go +++ b/wstracker.go @@ -18,11 +18,11 @@ type websocketTrackerStatus struct { } func (me websocketTrackerStatus) statusLine() string { - return fmt.Sprintf("%q: %+v", me.tc.Url, me.tc.Stats()) + return fmt.Sprintf("%+v", me.tc.Stats()) } -func (me websocketTrackerStatus) URL() url.URL { - return me.url +func (me websocketTrackerStatus) URL() *url.URL { + return &me.url } type refCountedWebtorrentTrackerClient struct { -- 2.48.1