mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 15:05:24 +08:00
🐎 gzip csv export files
This commit is contained in:
parent
d7b924abad
commit
b94c7922c5
|
@ -288,12 +288,14 @@ module Jobs
|
|||
csv << value
|
||||
end
|
||||
end
|
||||
# compress CSV file
|
||||
`gzip --best #{File.expand_path("#{UserExport.base_directory}/#{@file_name}", __FILE__)}`
|
||||
end
|
||||
|
||||
def notify_user
|
||||
if @current_user
|
||||
if @file_name != "" && File.exists?("#{UserExport.base_directory}/#{@file_name}")
|
||||
SystemMessage.create_from_system_user(@current_user, :csv_export_succeeded, download_link: "#{Discourse.base_url}/export_csv/#{@file_name}", file_name: @file_name)
|
||||
if @file_name != "" && File.exists?("#{UserExport.base_directory}/#{@file_name}.gz")
|
||||
SystemMessage.create_from_system_user(@current_user, :csv_export_succeeded, download_link: "#{Discourse.base_url}/export_csv/#{@file_name}.gz", file_name: "#{@file_name}.gz")
|
||||
else
|
||||
SystemMessage.create_from_system_user(@current_user, :csv_export_failed)
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require "spec_helper"
|
||||
|
||||
describe ExportCsvController do
|
||||
let(:export_filename) { "user-archive-999.csv" }
|
||||
let(:export_filename) { "user-archive-999.csv.gz" }
|
||||
|
||||
|
||||
context "while logged in as normal user" do
|
||||
|
@ -30,7 +30,7 @@ describe ExportCsvController do
|
|||
describe ".download" do
|
||||
it "uses send_file to transmit the export file" do
|
||||
file = UserExport.create(export_type: "user", user_id: @user.id)
|
||||
file_name = "user-archive-#{file.id}.csv"
|
||||
file_name = "user-archive-#{file.id}.csv.gz"
|
||||
controller.stubs(:render)
|
||||
export = UserExport.new()
|
||||
UserExport.expects(:get_download_path).with(file_name).returns(export)
|
||||
|
@ -74,7 +74,7 @@ describe ExportCsvController do
|
|||
describe ".download" do
|
||||
it "uses send_file to transmit the export file" do
|
||||
file = UserExport.create(export_type: "admin", user_id: @admin.id)
|
||||
file_name = "screened-email-#{file.id}.csv"
|
||||
file_name = "screened-email-#{file.id}.csv.gz"
|
||||
controller.stubs(:render)
|
||||
export = UserExport.new()
|
||||
UserExport.expects(:get_download_path).with(file_name).returns(export)
|
||||
|
|
Loading…
Reference in New Issue
Block a user