feed.go: fix max posts logic
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmO9iKAACgkQO3+8IhRO Y5h0/xAAjH/OUh7fiT3Pf4l6RnIVVPq5IyKpbZu73EU+lDlJO74noWAd3ZQ/7IXI ghb2J17VBWVvDSne3dm6oxPxR4HkPR4vwRK/BuBKQ9j9z7F4zlZQ//fDzR+pi9At SPD5si5P12psTURTtQDAKN9vQWf5lgUV1/iwikybK+nFyV3heZIjH3oVkl0QIxzn iuLLlms1YWubS6VsT3bHhwCMc2FcxJ/FoaY03gtX48nZL0KoWKWykLL5HGxBQIl/ Wd1DAgH9dqZeCMquv+hOWjDLTS4PlzKxD9wt7m+cTTlng3bPZE1nBehFR4BajYw4 1ZNYTwPzSsK1SJvhJodRLUr55OA8h3nFZLkZUu4T+a1fUorQkwbAubLwoqWHqVuj dfXWM9te+52006C4Zyzoz5+KPqiaZGCeXJuL+L81dy3yCLZ8XMfiSfsyU/ECClhf Lu/iPcoIimPyP3UnUjQPIOQMEbsX2zyWpq7JyGrdLXuQrOnIMBZ0GIR9CRTFIE8p FZXGkZWqDCT6UU9/c4lB01X1XK6Y+ijVOHB3csyPM74Yvf2/nSYIn8moqoxBnmHG 17dAe7IRy/6VURZmVpF9QTTUjGf1xiadyvUXTetfPEgpna5Dm2v+ZbYTYxhZAqrP SmVTRKxR6PEhD4qjp2KtiuTrXVkTPl3S8wXLlrEuH7BxOX/Z5es= =UNnB -----END PGP SIGNATURE-----
1 files changed,
15 insertions(+),
15 deletions(-)
jump to
M
feed.go
→
feed.go
@@ -52,7 +52,7 @@ }
return prependToFile(feedFile, time.Now().Format(time.RFC3339)+"\t"+twt+"\n") } -func buildFeedFromUrl(feed *Feed, nick, url string, max int64) error { +func buildFeedFromUrl(feed *Feed, nick, url string) error { resp, err := http.Get(url) if err != nil { return err@@ -64,25 +64,22 @@ if err != nil {
return err } - return buildFeed(feed, nick, string(body[:]), max) + return buildFeed(feed, nick, string(body[:])) } -func buildFeedFromPath(feed *Feed, nick, filename string, max int64) error { +func buildFeedFromPath(feed *Feed, nick, filename string) error { f, err := os.ReadFile(filename) if err != nil { return err } - return buildFeed(feed, nick, string(f[:]), max) + return buildFeed(feed, nick, string(f[:])) } -func buildFeed(feed *Feed, nick, data string, max int64) error { +func buildFeed(feed *Feed, nick, data string) error { lines := strings.Split(data, "\n") - for i, l := range lines { - if int64(i) > max { - return nil - } + for _, l := range lines { parts := strings.Split(l, "\t") t, err := time.Parse(time.RFC3339, parts[0]) if err != nil {@@ -97,9 +94,12 @@ }
return nil } -func printFeed(feed *Feed) { +func printFeed(feed *Feed, max int64) { sort.Sort(*feed) - for _, entry := range *feed { + for i, entry := range *feed { + if int64(i) >= max { + return + } fmt.Printf("[%s] <%s> %s\n", entry.Timestamp.Format(time.Stamp), entry.Nick, entry.Post) } }@@ -129,7 +129,7 @@ k := kvp[0]
v := kvp[1] if k == friend || len(friend) == 0 { - err = buildFeedFromUrl(feed, k, v, max) + err = buildFeedFromUrl(feed, k, v) if err != nil { return err }@@ -138,16 +138,16 @@ break
} } } - printFeed(feed) + printFeed(feed, max) return nil } func GetOwnFeed(nick, feedFile string, max int64) error { feed := &Feed{} - err := buildFeedFromPath(feed, nick, feedFile, max) + err := buildFeedFromPath(feed, nick, feedFile) if err != nil { return err } - printFeed(feed) + printFeed(feed, max) return nil }