discourse/lib/import_export/import_export.rb

27 lines
906 B
Ruby

require "import_export/category_exporter"
require "import_export/category_importer"
require "import_export/topic_exporter"
require "import_export/topic_importer"
require "json"
module ImportExport
def self.export_category(category_id, filename = nil)
ImportExport::CategoryExporter.new(category_id).perform.save_to_file(filename)
end
def self.import_category(filename)
export_data = ActiveSupport::HashWithIndifferentAccess.new(File.open(filename, "r:UTF-8") { |f| JSON.parse(f.read) })
ImportExport::CategoryImporter.new(export_data).perform
end
def self.export_topics(topic_ids)
ImportExport::TopicExporter.new(topic_ids).perform.save_to_file
end
def self.import_topics(filename)
export_data = ActiveSupport::HashWithIndifferentAccess.new(File.open(filename, "r:UTF-8") { |f| JSON.parse(f.read) })
ImportExport::TopicImporter.new(export_data).perform
end
end