feed.go: fix max posts logic
This commit is contained in:
parent
c274e63e82
commit
fb43dd02b6
1 changed files with 15 additions and 15 deletions
30
feed.go
30
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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue