mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
DEV: Split max decompressed setting for themes and backups (#8179)
This commit is contained in:
@ -20,10 +20,10 @@ module Compression
|
||||
end
|
||||
end
|
||||
|
||||
def decompress(dest_path, compressed_file_path, allow_non_root_folder: false)
|
||||
def decompress(dest_path, compressed_file_path, max_size, allow_non_root_folder: false)
|
||||
@strategies.reverse.reduce(compressed_file_path) do |to_decompress, strategy|
|
||||
last_extension = strategy.extension
|
||||
strategy.decompress(dest_path, to_decompress, allow_non_root_folder: allow_non_root_folder)
|
||||
strategy.decompress(dest_path, to_decompress, max_size, allow_non_root_folder: allow_non_root_folder)
|
||||
to_decompress.gsub(last_extension, '')
|
||||
end
|
||||
end
|
||||
|
@ -9,11 +9,11 @@ module Compression
|
||||
file_name.include?(extension)
|
||||
end
|
||||
|
||||
def decompress(dest_path, compressed_file_path, allow_non_root_folder: false)
|
||||
def decompress(dest_path, compressed_file_path, max_size, allow_non_root_folder: false)
|
||||
sanitized_compressed_file_path = sanitize_path(compressed_file_path)
|
||||
|
||||
get_compressed_file_stream(sanitized_compressed_file_path) do |compressed_file|
|
||||
available_size = calculate_available_size
|
||||
available_size = calculate_available_size(max_size)
|
||||
|
||||
entries_of(compressed_file).each do |entry|
|
||||
entry_path = build_entry_path(
|
||||
@ -59,8 +59,8 @@ module Compression
|
||||
end
|
||||
end
|
||||
|
||||
def calculate_available_size
|
||||
1024**2 * (SiteSetting.decompressed_file_max_size_mb / 1.049) # Mb to Mib
|
||||
def calculate_available_size(max_size)
|
||||
1024**2 * (max_size / 1.049) # Mb to Mib
|
||||
end
|
||||
|
||||
def entries_of(compressed_file)
|
||||
|
Reference in New Issue
Block a user