eBooru/db/seeds.rb
Sasquire 8e355b6b89 Fix issues with seeder script failing
Fixes the problems described in issue 188
2020-03-04 17:00:04 -05:00

61 lines
1.7 KiB
Ruby

# frozen_string_literal: true
require "digest/md5"
require "net/http"
require "tempfile"
unless Rails.env.test?
puts "== Creating elasticsearch indices ==\n"
Post.__elasticsearch__.create_index!
end
puts "== Seeding database with sample content ==\n"
# Uncomment to see detailed logs
#ActiveRecord::Base.logger = ActiveSupport::Logger.new($stdout)
admin = User.find_or_create_by!(name: "admin") do |user|
user.created_at = 2.weeks.ago
user.password = "e621test"
user.password_confirmation = "e621test"
user.password_hash = ""
user.email = "admin@e621.net"
user.can_upload_free = true
user.level = User::Levels::ADMIN
end
User.find_or_create_by!(name: Danbooru.config.system_user) do |user|
user.password = "ae3n4oie2n3oi4en23oie4noienaorshtaioresnt"
user.password_confirmation = "ae3n4oie2n3oi4en23oie4noienaorshtaioresnt"
user.password_hash = ""
user.email = "system@e621.net"
user.can_upload_free = true
user.level = User::Levels::ADMIN
end
unless Rails.env.test?
CurrentUser.user = admin
CurrentUser.ip_addr = "127.0.0.1"
resources = YAML.load_file Rails.root.join("db", "seeds.yml")
resources["images"].each do |image|
puts image["url"]
data = Net::HTTP.get(URI(image["url"]))
file = Tempfile.new.binmode
file.write data
md5 = Digest::MD5.hexdigest(data)
service = UploadService.new({
file: file,
tag_string: image["tags"],
rating: "s",
md5: md5,
md5_confirmation: md5
})
service.start!
end
end