Display amount of freed disk space in tootctl media remove (#9229)
* Display amount of freed disk space in tootctl media remove Fix #9213 * Fix code style issue
This commit is contained in:
		
							parent
							
								
									ccbdf689e8
								
							
						
					
					
						commit
						3ddb460449
					
				
					 1 changed files with 9 additions and 4 deletions
				
			
		| 
						 | 
					@ -6,6 +6,8 @@ require_relative 'cli_helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module Mastodon
 | 
					module Mastodon
 | 
				
			||||||
  class MediaCLI < Thor
 | 
					  class MediaCLI < Thor
 | 
				
			||||||
 | 
					    include ActionView::Helpers::NumberHelper
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def self.exit_on_failure?
 | 
					    def self.exit_on_failure?
 | 
				
			||||||
      true
 | 
					      true
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
| 
						 | 
					@ -36,11 +38,13 @@ module Mastodon
 | 
				
			||||||
      time_ago  = options[:days].days.ago
 | 
					      time_ago  = options[:days].days.ago
 | 
				
			||||||
      queued    = 0
 | 
					      queued    = 0
 | 
				
			||||||
      processed = 0
 | 
					      processed = 0
 | 
				
			||||||
 | 
					      size      = 0
 | 
				
			||||||
      dry_run   = options[:dry_run] ? '(DRY RUN)' : ''
 | 
					      dry_run   = options[:dry_run] ? '(DRY RUN)' : ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if options[:background]
 | 
					      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
 | 
					          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]
 | 
					          Maintenance::UncacheMediaWorker.push_bulk(media_attachments.map(&:id)) unless options[:dry_run]
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
| 
						 | 
					@ -49,6 +53,7 @@ module Mastodon
 | 
				
			||||||
            Maintenance::UncacheMediaWorker.new.perform(m) unless options[:dry_run]
 | 
					            Maintenance::UncacheMediaWorker.new.perform(m) unless options[:dry_run]
 | 
				
			||||||
            options[:verbose] ? say(m.id) : say('.', :green, false)
 | 
					            options[:verbose] ? say(m.id) : say('.', :green, false)
 | 
				
			||||||
            processed += 1
 | 
					            processed += 1
 | 
				
			||||||
 | 
					            size      += m.file_file_size
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
| 
						 | 
					@ -56,9 +61,9 @@ module Mastodon
 | 
				
			||||||
      say
 | 
					      say
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if options[:background]
 | 
					      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
 | 
					      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
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue