···2424 @report&.update(queue: { length: @item_queue.length })
2525 end
2626 rescue InvalidRecordError => e
2727- puts "Error in LikesImporter: #{record['uri']}: #{e}"
2727+ @logger&.warn "Error in LikesImporter: #{record['uri']}: #{e}"
2828 end
2929 end
3030
+1-1
app/importers/posts_importer.rb
···3232 @report&.update(queue: { length: @item_queue.length })
3333 end
3434 rescue InvalidRecordError => e
3535- puts "Error in PostsImporter: #{record['uri']}: #{e}"
3535+ @logger&.warn "Error in PostsImporter: #{record['uri']}: #{e}"
3636 end
3737 end
3838
+1-1
app/importers/reposts_importer.rb
···2424 @report&.update(queue: { length: @item_queue.length })
2525 end
2626 rescue InvalidRecordError => e
2727- puts "Error in RepostsImporter: #{record['uri']}: #{e}"
2727+ @logger&.warn "Error in RepostsImporter: #{record['uri']}: #{e}"
2828 end
2929 end
3030
+4
app/models/user.rb
···89899090 Post.where(user: self).delete_all
9191 end
9292+9393+ def to_s
9494+ %(<User id: #{id}, did: "#{did}">)
9595+ end
9296end
+8-8
app/post_downloader.rb
···66require_relative 'models/user'
7788class PostDownloader
99- attr_accessor :report, :stop_when_empty
99+ attr_accessor :report, :logger, :stop_when_empty
10101111 def initialize
1212 @sky = Minisky.new(ENV['APPVIEW_HOST'] || 'public.api.bsky.app', nil)
···6060 if post.valid?
6161 current_items.each { |i| update_item(i, post) }
6262 else
6363- puts "Invalid post #{data['uri']}: #{post.errors.full_messages.join("; ")}"
6363+ @logger&.warn "Invalid post #{data['uri']}: #{post.errors.full_messages.join("; ")}"
6464 current_items.each { |i| invalidate_item(i) }
6565 end
6666 rescue InvalidRecordError => e
6767- puts "Error in PostDownloader: #{data['uri']}: #{e.class}: #{e}"
6767+ @logger&.warn "Error in PostDownloader: #{data['uri']}: #{e.class}: #{e}"
6868 current_items.each { |i| i.update!(queue: nil) }
6969 end
7070 end
71717272 check_missing_items(items)
7373 rescue StandardError => e
7474- puts "Error in PostDownloader: #{e.class}: #{e}"
7474+ @logger&.warn "Error in PostDownloader: #{e.class}: #{e}"
7575 end
7676 end
7777···149149 case status
150150 when :active
151151 # account is active but wasn't returned in getProfiles, probably was suspended on the AppView
152152- puts "#{item.post_uri}: account #{did} exists on the PDS, account must have been taken down"
152152+ # puts "#{item.post_uri}: account #{did} exists on the PDS, account must have been taken down"
153153 item.destroy
154154 when nil
155155 # account was deleted, so all posts were deleted too
156156- puts "#{item.post_uri}: account #{did} doesn't exist on the PDS, post must have been deleted"
156156+ # puts "#{item.post_uri}: account #{did} doesn't exist on the PDS, post must have been deleted"
157157 item.destroy
158158 else
159159 # account is inactive/suspended, but could come back, so leave it for now
160160- puts "#{item.post_uri}: account #{did} is inactive: #{status}"
160160+ # puts "#{item.post_uri}: account #{did} is inactive: #{status}"
161161 end
162162 rescue StandardError => e
163163 hostname = did_obj.document.pds_host rescue "???"
164164- puts "#{item.post_uri}: couldn't check account status for #{did} on #{hostname}: #{e.class}: #{e}"
164164+ @logger&.warn "#{item.post_uri}: couldn't check account status for #{did} on #{hostname}: #{e.class}: #{e}"
165165166166 # delete reference if the account's PDS is the old bsky.social (so it must have been deleted pre Nov 2023)
167167 item.destroy if hostname == 'bsky.social'
+6-2
app/reports/basic_report.rb
···11class BasicReport
22+ def initialize(logger)
33+ @logger = logger
44+ end
55+26 def update(data)
37 data.each do |k, v|
48 if k == :downloader
55- p ({ k => v }) if v[:downloaded_posts] && v[:downloaded_posts] % 100 == 0
99+ @logger.info({ k => v }.inspect) if v[:downloaded_posts] && v[:downloaded_posts] % 100 == 0
610 elsif k == :queue
711 next
812 else
99- p ({ k => v})
1313+ @logger.info({ k => v}.inspect)
1014 end
1115 end
1216 end