Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Commit

Permalink
Display amount of freed disk space in tootctl media remove (mastodon#…
Browse files Browse the repository at this point in the history
…9229)

* Display amount of freed disk space in tootctl media remove

Fix mastodon#9213

* Fix code style issue
  • Loading branch information
Gargron authored Nov 8, 2018
1 parent ccbdf68 commit 3ddb460
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions lib/mastodon/media_cli.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

module Mastodon
class MediaCLI < Thor
include ActionView::Helpers::NumberHelper

def self.exit_on_failure?
true
end
Expand Down Expand Up @@ -36,11 +38,13 @@ def remove
time_ago = options[:days].days.ago
queued = 0
processed = 0
dry_run = options[:dry_run] ? '(DRY RUN)' : ''
size = 0
dry_run = options[:dry_run] ? '(DRY RUN)' : ''

if options[:background]
MediaAttachment.where.not(remote_url: '').where.not(file_file_name: nil).where('created_at < ?', time_ago).select(:id).reorder(nil).find_in_batches do |media_attachments|
MediaAttachment.where.not(remote_url: '').where.not(file_file_name: nil).where('created_at < ?', time_ago).select(:id, :file_file_size).reorder(nil).find_in_batches do |media_attachments|
queued += media_attachments.size
size += media_attachments.reduce(0) { |sum, m| sum + (m.file_file_size || 0) }
Maintenance::UncacheMediaWorker.push_bulk(media_attachments.map(&:id)) unless options[:dry_run]
end
else
Expand All @@ -49,16 +53,17 @@ def remove
Maintenance::UncacheMediaWorker.new.perform(m) unless options[:dry_run]
options[:verbose] ? say(m.id) : say('.', :green, false)
processed += 1
size += m.file_file_size
end
end
end

say

if options[:background]
say("Scheduled the deletion of #{queued} media attachments #{dry_run}", :green, true)
say("Scheduled the deletion of #{queued} media attachments (approx. #{number_to_human_size(size)}) #{dry_run}", :green, true)
else
say("Removed #{processed} media attachments #{dry_run}", :green, true)
say("Removed #{processed} media attachments (approx. #{number_to_human_size(size)}) #{dry_run}", :green, true)
end
end
end
Expand Down

0 comments on commit 3ddb460

Please sign in to comment.