BUGFIX: fix re-fetching of conflicting users having a crash if the user in question was banned instead of deleted

This commit is contained in:
Alessio 2025-02-18 21:55:36 -08:00
parent 4365d0bd3b
commit 97419c483e
2 changed files with 7 additions and 1 deletions

View File

@ -112,6 +112,9 @@ func full_save_tweet_trove(trove TweetTrove) {
// Mark them as deleted. // Mark them as deleted.
// Handle and display name won't be updated if the user exists. // Handle and display name won't be updated if the user exists.
updated_user = User{ID: u_id, DisplayName: "<Unknown User>", Handle: "<UNKNOWN USER>", IsDeleted: true} updated_user = User{ID: u_id, DisplayName: "<Unknown User>", Handle: "<UNKNOWN USER>", IsDeleted: true}
} else if errors.Is(err, scraper.ErrUserIsBanned) {
// Mark them as banned (also won't clobber handle and display name)
updated_user = User{ID: u_id, DisplayName: "<Unknown User>", Handle: "<UNKNOWN USER>", IsBanned: true}
} else if err != nil { } else if err != nil {
panic(fmt.Errorf("error scraping conflicting user (ID %d): %w", u_id, err)) panic(fmt.Errorf("error scraping conflicting user (ID %d): %w", u_id, err))
} }

View File

@ -20,8 +20,11 @@ func (app *Application) full_save_tweet_trove(trove TweetTrove) {
updated_user, err := scraper.GetUserByID(u_id) updated_user, err := scraper.GetUserByID(u_id)
if errors.Is(err, scraper.ErrDoesntExist) { if errors.Is(err, scraper.ErrDoesntExist) {
// Mark them as deleted. // Mark them as deleted.
// Handle and display name won't be updated if the user exists. // Handle and display name won't be clobbered if the user exists.
updated_user = User{ID: u_id, DisplayName: "<Unknown User>", Handle: "<UNKNOWN USER>", IsDeleted: true} updated_user = User{ID: u_id, DisplayName: "<Unknown User>", Handle: "<UNKNOWN USER>", IsDeleted: true}
} else if errors.Is(err, scraper.ErrUserIsBanned) {
// Mark them as banned (also won't clobber handle and display name)
updated_user = User{ID: u_id, DisplayName: "<Unknown User>", Handle: "<UNKNOWN USER>", IsBanned: true}
} else if err != nil { } else if err != nil {
panic(fmt.Errorf("error scraping conflicting user (ID %d): %w", u_id, err)) panic(fmt.Errorf("error scraping conflicting user (ID %d): %w", u_id, err))
} }