Add conditional downloading for user content

This commit is contained in:
Alessio 2021-12-21 21:29:27 -05:00
parent c173f7e64e
commit 5a4da58572
2 changed files with 25 additions and 9 deletions

View File

@ -157,15 +157,16 @@ func fetch_tweet_conversation(tweet_identifier string) {
} }
for _, u := range users { 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) err = profile.SaveUser(u)
if err != nil { if err != nil {
die("Error saving user: " + err.Error(), false, 4) 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 { for _, t := range tweets {
@ -200,14 +201,15 @@ func fetch_user_feed(handle string, how_many int) {
} }
for _, u := range users { 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) err = profile.SaveUser(u)
if err != nil { if err != nil {
die("Error saving user: " + err.Error(), false, 4) 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 { for _, t := range tweets {

View File

@ -162,3 +162,17 @@ func (p Profile) DownloadUserContentWithInjector(u *scraper.User, downloader Med
u.IsContentDownloaded = true u.IsContentDownloaded = true
return p.SaveUser(*u) 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)
}