From 97419c483e426df2071200ba979dde71933e99c2 Mon Sep 17 00:00:00 2001 From: Alessio Date: Tue, 18 Feb 2025 21:55:36 -0800 Subject: [PATCH] BUGFIX: fix re-fetching of conflicting users having a crash if the user in question was banned instead of deleted --- cmd/twitter/helpers.go | 3 +++ pkg/webserver/temp_utils.go | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/twitter/helpers.go b/cmd/twitter/helpers.go index ff8557d..216d5be 100644 --- a/cmd/twitter/helpers.go +++ b/cmd/twitter/helpers.go @@ -112,6 +112,9 @@ func full_save_tweet_trove(trove TweetTrove) { // Mark them as deleted. // Handle and display name won't be updated if the user exists. updated_user = User{ID: u_id, DisplayName: "", Handle: "", 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: "", Handle: "", IsBanned: true} } else if err != nil { panic(fmt.Errorf("error scraping conflicting user (ID %d): %w", u_id, err)) } diff --git a/pkg/webserver/temp_utils.go b/pkg/webserver/temp_utils.go index 79017a9..75d8633 100644 --- a/pkg/webserver/temp_utils.go +++ b/pkg/webserver/temp_utils.go @@ -20,8 +20,11 @@ func (app *Application) full_save_tweet_trove(trove TweetTrove) { updated_user, err := scraper.GetUserByID(u_id) if errors.Is(err, scraper.ErrDoesntExist) { // 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: "", Handle: "", 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: "", Handle: "", IsBanned: true} } else if err != nil { panic(fmt.Errorf("error scraping conflicting user (ID %d): %w", u_id, err)) }