DEV: use DiskSpace module for all disk space calculations
This normalizes it so we only carry one place for grabbing disk space size It also normalizes the command made so it uses Discourse.execute_command which splits off params in a far cleaner way.
This commit is contained in:
parent
28292d2759
commit
64b3512084
|
@ -215,7 +215,7 @@ class Admin::BackupsController < Admin::AdminController
|
|||
private
|
||||
|
||||
def has_enough_space_on_disk?(size)
|
||||
`df -Pk #{Rails.root}/public/backups | awk 'NR==2 {printf "%.0f", $4 * 1024;}'`.to_i > size
|
||||
DiskSpace.free("#{Rails.root}/public/backups") > size
|
||||
end
|
||||
|
||||
def ensure_backups_enabled
|
||||
|
|
|
@ -685,7 +685,7 @@ class CookedPostProcessor
|
|||
end
|
||||
|
||||
def available_disk_space
|
||||
100 - `df -P #{Rails.root}/public/uploads | tail -1 | tr -s ' ' | cut -d ' ' -f 5`.to_i
|
||||
100 - DiskSpace.percent_free("#{Rails.root}/public/uploads")
|
||||
end
|
||||
|
||||
def dirty?
|
||||
|
|
|
@ -12,11 +12,19 @@ class DiskSpace
|
|||
end
|
||||
|
||||
def self.free(path)
|
||||
`df -Pk #{path} | awk 'NR==2 {print $4;}'`.to_i * 1024
|
||||
output = Discourse::Utils.execute_command('df', '-Pk', path)
|
||||
size_line = output.split("\n")[1]
|
||||
size_line.split(/\s+/)[3].to_i * 1024
|
||||
end
|
||||
|
||||
def self.percent_free(path)
|
||||
output = Discourse::Utils.execute_command('df', '-P', path)
|
||||
size_line = output.split("\n")[1]
|
||||
size_line.split(/\s+/)[4].to_i
|
||||
end
|
||||
|
||||
def self.used(path)
|
||||
`du -s #{path}`.to_i * 1024
|
||||
Discourse::Utils.execute_command("du", "-s", path).to_i * 1024
|
||||
end
|
||||
|
||||
def self.uploads_path
|
||||
|
|
Loading…
Reference in New Issue