stop scanning favs if user removed

This commit is contained in:
Dylan Knutson
2023-08-25 17:15:57 -07:00
parent fb8db13ba5
commit 984614e04b
2 changed files with 18 additions and 7 deletions

View File

@@ -16,7 +16,7 @@ class Domain::Fa::Job::FavsJob < Domain::Fa::Job::Base
url_name: args[:url_name],
caused_by_entry: best_caused_by_entry,
})
raise("user does not exist: #{args}")
fatal_error("user does not exist: #{args}")
end
logger.prefix = "[#{(@user.url_name || @user.name).bold} / #{@user.state.bold}]"
@@ -29,7 +29,9 @@ class Domain::Fa::Job::FavsJob < Domain::Fa::Job::Base
existing_faved_ids = Set.new(@user.fav_post_joins.pluck(:post_id))
while true
break if scan_page == :break
ret = scan_page
break if ret == :break
return if ret == :stop
if !@full_scan
new_favs = @last_page_post_ids - existing_faved_ids
@@ -102,7 +104,17 @@ class Domain::Fa::Job::FavsJob < Domain::Fa::Job::Base
end
page = Domain::Fa::Parser::Page.new(response.body)
raise("not a listings page") unless page.probably_listings_page?
if response.body =~ /User ".+" was not found in our database./
@user.state = :scan_error
@user.state_detail ||= {}
@user.state_detail["scan_error"] = "(favs scan) user has disabled account, see last_favs_page_id"
@user.state_detail["last_favs_page_id"] = response.log_entry.id
@user.save!
logger.error("account disabled, abort")
return :stop
end
fatal_error("not a favs listing page") unless page.probably_listings_page?
submissions = page.submissions_parsed
@page_id = page.favorites_next_button_id
ret = :break if @page_id.nil?

View File

@@ -77,10 +77,9 @@ class Domain::Fa::Job::UserGalleryJob < Domain::Fa::Job::Base
if !page.probably_listings_page?
if response.body =~ /has voluntarily disabled access/
@user.state = :scan_error
@user.state_detail = {
scan_error: "(gallery scan) user has disabled account, see last_gallery_page_id",
last_gallery_page_id: response.log_entry.id,
}
@user.state_detail ||= {}
@user.state_detail["scan_error"] = "(gallery scan) user has disabled account, see last_gallery_page_id"
@user.state_detail["last_gallery_page_id"] = response.log_entry.id
@user.save!
logger.error("account disabled, abort")
return :break