Fix pagination for mstdn command
parent
5fad354d1a
commit
dd0b467062
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/mattn/go-mastodon"
|
||||
"github.com/urfave/cli"
|
||||
|
@ -16,10 +17,21 @@ func cmdFollowers(c *cli.Context) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
followers, err := client.GetAccountFollowers(context.Background(), account.ID)
|
||||
var maxID *int64
|
||||
var followers []*mastodon.Account
|
||||
for {
|
||||
fs, pg, err := client.GetAccountFollowers(
|
||||
context.Background(), account.ID, &mastodon.Pagination{MaxID: maxID})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
followers = append(followers, fs...)
|
||||
if pg.MaxID == nil {
|
||||
break
|
||||
}
|
||||
maxID = pg.MaxID
|
||||
time.Sleep(10 * time.Second)
|
||||
}
|
||||
s := newScreen(config)
|
||||
for _, follower := range followers {
|
||||
fmt.Fprintf(c.App.Writer, "%v,%v\n", follower.ID, s.acct(follower.Acct))
|
||||
|
|
|
@ -17,6 +17,7 @@ func TestCmdFollowers(t *testing.T) {
|
|||
fmt.Fprintln(w, `{"id": 123}`)
|
||||
return
|
||||
case "/api/v1/accounts/123/followers":
|
||||
w.Header().Set("Link", `<http://example.com?since_id=890>; rel="prev"`)
|
||||
fmt.Fprintln(w, `[{"id": 234, "username": "ZZZ", "acct": "zzz"}]`)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
|
||||
func cmdNotification(c *cli.Context) error {
|
||||
client := c.App.Metadata["client"].(*mastodon.Client)
|
||||
notifications, err := client.GetNotifications(context.Background())
|
||||
notifications, _, err := client.GetNotifications(context.Background(), nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
func cmdTimeline(c *cli.Context) error {
|
||||
client := c.App.Metadata["client"].(*mastodon.Client)
|
||||
config := c.App.Metadata["config"].(*mastodon.Config)
|
||||
timeline, err := client.GetTimelineHome(context.Background())
|
||||
timeline, _, err := client.GetTimelineHome(context.Background(), nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue