diff --git a/cmd/mstdn/cmd_followers.go b/cmd/mstdn/cmd_followers.go index 62ca366..8824332 100644 --- a/cmd/mstdn/cmd_followers.go +++ b/cmd/mstdn/cmd_followers.go @@ -10,6 +10,8 @@ import ( func cmdFollowers(c *cli.Context) error { client := c.App.Metadata["client"].(*mastodon.Client) + config := c.App.Metadata["config"].(*mastodon.Config) + account, err := client.GetAccountCurrentUser(context.Background()) if err != nil { return err @@ -18,8 +20,9 @@ func cmdFollowers(c *cli.Context) error { if err != nil { return err } + s := newScreen(config) for _, follower := range followers { - fmt.Fprintf(c.App.Writer, "%v,%v\n", follower.ID, follower.Acct) + fmt.Fprintf(c.App.Writer, "%v,%v\n", follower.ID, s.acct(follower.Acct)) } return nil } diff --git a/cmd/mstdn/cmd_followers_test.go b/cmd/mstdn/cmd_followers_test.go index 5518ccf..442a068 100644 --- a/cmd/mstdn/cmd_followers_test.go +++ b/cmd/mstdn/cmd_followers_test.go @@ -17,7 +17,7 @@ func TestCmdFollowers(t *testing.T) { fmt.Fprintln(w, `{"id": 123}`) return case "/api/v1/accounts/123/followers": - fmt.Fprintln(w, `[{"id": 234, "username": "zzz"}]`) + fmt.Fprintln(w, `[{"id": 234, "username": "ZZZ", "acct": "zzz"}]`) return } http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound) diff --git a/cmd/mstdn/main.go b/cmd/mstdn/main.go index e25053b..129fe0b 100644 --- a/cmd/mstdn/main.go +++ b/cmd/mstdn/main.go @@ -262,13 +262,6 @@ func makeApp() *cli.App { return app } -func acct(acct, host string) string { - if !strings.Contains(acct, "@") { - acct += "@" + host - } - return acct -} - type screen struct { host string } @@ -282,6 +275,13 @@ func newScreen(config *mastodon.Config) *screen { return &screen{host} } +func (s *screen) acct(a string) string { + if !strings.Contains(a, "@") { + a += "@" + s.host + } + return a +} + func (s *screen) displayError(w io.Writer, e error) { color.Set(color.FgYellow) fmt.Fprintln(w, e.Error()) @@ -291,16 +291,16 @@ func (s *screen) displayError(w io.Writer, e error) { func (s *screen) displayStatus(w io.Writer, t *mastodon.Status) { if t.Reblog != nil { color.Set(color.FgHiRed) - fmt.Fprint(w, acct(t.Account.Acct, s.host)) + fmt.Fprint(w, s.acct(t.Account.Acct)) color.Set(color.Reset) fmt.Fprint(w, " reblogged ") color.Set(color.FgHiBlue) - fmt.Fprintln(w, acct(t.Reblog.Account.Acct, s.host)) + fmt.Fprintln(w, s.acct(t.Reblog.Account.Acct)) fmt.Fprintln(w, textContent(t.Reblog.Content)) color.Set(color.Reset) } else { color.Set(color.FgHiRed) - fmt.Fprintln(w, acct(t.Account.Acct, s.host)) + fmt.Fprintln(w, s.acct(t.Account.Acct)) color.Set(color.Reset) fmt.Fprintln(w, textContent(t.Content)) }