diff --git a/feed.go b/feed.go index a0a0501..047e36d 100644 --- a/feed.go +++ b/feed.go @@ -52,7 +52,7 @@ func Post(twt, feedFile string, ascend bool) error { 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 @@ func buildFeedFromUrl(feed *Feed, nick, url string, max int64) error { 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 @@ func buildFeed(feed *Feed, nick, data string, max int64) error { 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 @@ func GetFeed(friend, friendsFile string, max int64) error { 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 @@ func GetFeed(friend, friendsFile string, max int64) error { } } } - 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 }