Don't forget to lycansubscribe
35
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 8ca0089a70e0670d7a484c4c23252e50bd4dfff9 67 lines 1.4 kB view raw
1require_relative '../../app/import_manager' 2require_relative '../../app/item_queue' 3require_relative '../../app/models/user' 4require_relative '../../app/post_downloader' 5require_relative '../../app/reports/console_report' 6 7task :enqueue_user do 8 unless ENV['DID'] 9 raise "Required DID parameter missing" 10 end 11 12 user = User.find_or_create_by!(did: ENV['DID']) 13 14 if user.import_job 15 puts "Import for #{user.did} is already scheduled." 16 elsif user.active? 17 puts "Import for #{user.did} has already started." 18 else 19 user.create_import_job! 20 puts "Import for #{user.did} scheduled ✓" 21 end 22end 23 24task :import_user do 25 unless ENV['DID'] 26 raise "Required DID parameter missing" 27 end 28 29 user = User.find_or_create_by!(did: ENV['DID']) 30 31 unless ENV['COLLECTION'] 32 raise "Required COLLECTION parameter missing" 33 end 34 35 import = ImportManager.new(user) 36 import.report = ConsoleReport.new 37 import.time_limit = ENV['UNTIL'] 38 39 trap("SIGINT") { 40 puts "\n\n\n\n\n" 41 exit 42 } 43 44 import.start(ENV['COLLECTION']) 45 46 puts "\n\n\n\n\n" 47end 48 49task :process_posts do 50 queue = ItemQueue.new( 51 [Like, Repost, Quote, Pin].map { |x| x.pending.to_a }.reduce(&:+) 52 ) 53 54 report = ConsoleReport.new 55 56 trap("SIGINT") { 57 puts "\n\n\n\n\n" 58 exit 59 } 60 61 downloader = PostDownloader.new 62 downloader.report = report 63 downloader.stop_when_empty = true 64 downloader.import_from_queue(queue) 65 66 puts "\n\n\n\n\n" 67end