backfill fa posted_at field
This commit is contained in:
66
Rakefile
66
Rakefile
@@ -94,14 +94,60 @@ task :reverse_csv do
|
||||
end
|
||||
|
||||
task migrate_domain: :environment do
|
||||
# Domain::MigrateToDomain.new.migrate_e621_users
|
||||
# Domain::MigrateToDomain.new.migrate_e621_posts
|
||||
# Domain::MigrateToDomain.new.migrate_fa_users
|
||||
# Domain::MigrateToDomain.new.migrate_fa_posts
|
||||
# Domain::MigrateToDomain.new.migrate_e621_users_favs
|
||||
# Domain::MigrateToDomain.new.migrate_fa_users_favs
|
||||
# Domain::MigrateToDomain.new.migrate_fa_users_followed_users
|
||||
# Domain::MigrateToDomain.new.migrate_inkbunny_users
|
||||
Domain::MigrateToDomain.new.migrate_inkbunny_posts
|
||||
Domain::MigrateToDomain.new.migrate_inkbunny_pools
|
||||
only_user = ENV["only_user"]
|
||||
migrator = Domain::MigrateToDomain.new
|
||||
migrator.migrate_e621_users(only_user: only_user)
|
||||
migrator.migrate_e621_posts(only_user: only_user)
|
||||
migrator.migrate_fa_users(only_user: only_user)
|
||||
migrator.migrate_fa_posts(only_user: only_user)
|
||||
migrator.migrate_e621_users_favs(only_user: only_user)
|
||||
migrator.migrate_fa_users_favs(only_user: only_user)
|
||||
migrator.migrate_fa_users_followed_users(only_user: only_user)
|
||||
migrator.migrate_inkbunny_users(only_user: only_user)
|
||||
migrator.migrate_inkbunny_posts(only_user: only_user)
|
||||
migrator.migrate_inkbunny_pools(only_user: nil) if only_user.nil?
|
||||
end
|
||||
|
||||
task infer_last_submission_log_entries: :environment do
|
||||
only_fa_id = ENV["only_fa_id"]
|
||||
|
||||
if only_fa_id
|
||||
relation = Domain::Fa::Post.where(fa_id: only_fa_id)
|
||||
else
|
||||
relation =
|
||||
Domain::Fa::Post
|
||||
.where(state: :ok)
|
||||
.where(last_submission_page_id: nil)
|
||||
.or(Domain::Fa::Post.where(state: :ok).where(posted_at: nil))
|
||||
end
|
||||
|
||||
relation.find_each do |post|
|
||||
parts = ["[id: #{post.id}]", "[fa_id: #{post.fa_id}]"]
|
||||
log_entry = post.guess_last_submission_page
|
||||
if log_entry
|
||||
contents = log_entry.response&.contents
|
||||
if contents
|
||||
parser = Domain::Fa::Parser::Page.new(contents)
|
||||
if parser.submission_not_found?
|
||||
parts << "[removed]"
|
||||
post.state = :removed
|
||||
else
|
||||
posted_at = parser.submission.posted_date
|
||||
parts << "[posted_at_parser: #{posted_at}]" if posted_at
|
||||
end
|
||||
end
|
||||
|
||||
if post.last_submission_page_id.present? &&
|
||||
log_entry.id != post.last_submission_page_id
|
||||
parts << "[overwrite]"
|
||||
end
|
||||
post.last_submission_page_id = log_entry.id
|
||||
posted_at = post.posted_at ||= post.guess_posted_at
|
||||
parts << "[posted_at_attr: #{posted_at}]" if posted_at
|
||||
parts << "[submission log entry: #{log_entry.id}]"
|
||||
parts << "[uri: #{log_entry.uri.to_s}]"
|
||||
puts parts.join(" ")
|
||||
post.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user