discourse/lib/tasks/site_settings.rake
2023-01-09 12:10:19 +00:00

37 lines
755 B
Ruby

# frozen_string_literal: true
require "yaml"
desc "Exports site settings"
task "site_settings:export" => :environment do
h = SiteSettingsTask.export_to_hash
puts h.to_yaml
end
desc "Imports site settings"
task "site_settings:import" => :environment do
yml = (STDIN.tty?) ? "" : STDIN.read
if yml == ""
puts
puts "Please specify a settings yml file"
puts "Example: rake site_settings:import < settings.yml"
exit 1
end
puts
puts "starting import..."
puts
log, counts = SiteSettingsTask.import(yml)
puts log
puts
puts "Results:"
puts " Updated: #{counts[:updated]}"
puts " Not Found: #{counts[:not_found]}"
puts " Errors: #{counts[:errors]}"
exit 1 if counts[:not_found] + counts[:errors] > 0
end