diff --git a/cmd/twitter/main.go b/cmd/twitter/main.go index 2606150..87ccc25 100644 --- a/cmd/twitter/main.go +++ b/cmd/twitter/main.go @@ -157,15 +157,16 @@ func fetch_tweet_conversation(tweet_identifier string) { } for _, u := range users { - // fmt.Println(u) + fmt.Println(u.Handle) + _, err = profile.DownloadUserContentIfNeeded(&u) + if err != nil { + die("Error getting user content: " + err.Error(), false, 10) + } + err = profile.SaveUser(u) if err != nil { die("Error saving user: " + err.Error(), false, 4) } - err = profile.DownloadUserContentFor(&u) - if err != nil { - die("Error getting user content: " + err.Error(), false, 10) - } } for _, t := range tweets { @@ -200,14 +201,15 @@ func fetch_user_feed(handle string, how_many int) { } for _, u := range users { + fmt.Println(u.Handle) + _, err = profile.DownloadUserContentIfNeeded(&u) + if err != nil { + die("Error getting user content: " + err.Error(), false, 10) + } err = profile.SaveUser(u) if err != nil { die("Error saving user: " + err.Error(), false, 4) } - err = profile.DownloadUserContentFor(&u) - if err != nil { - die("Error getting user content: " + err.Error(), false, 10) - } } for _, t := range tweets { diff --git a/persistence/media_download.go b/persistence/media_download.go index f8cf79d..e31f8d2 100644 --- a/persistence/media_download.go +++ b/persistence/media_download.go @@ -162,3 +162,17 @@ func (p Profile) DownloadUserContentWithInjector(u *scraper.User, downloader Med u.IsContentDownloaded = true return p.SaveUser(*u) } + + +/** + * Download a User's content, if needed. + * + * Returns whether anything was downloaded or not. + */ +func (p Profile) DownloadUserContentIfNeeded(u *scraper.User) (bool, error) { + if !p.CheckUserContentDownloadNeeded(*u) { + return false, nil + } + return true, p.DownloadUserContentFor(u) + +}