Conflicts: app/views/layouts/application.html.haml Edited: app/helpers/application_helper.rb app/views/admin/domain_blocks/new.html.haml Conflict wasn't really one, just two changes too close to one another. Edition was to adapt the class names for themes to class names for skins and flavours. Also edited app/views/admin/domain_blocks/new.html.haml to strip the duplicate admin pack inclusion thing.main
commit
36393e1d2b
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env ruby
|
||||
APP_PATH = File.expand_path('../config/application', __dir__)
|
||||
require_relative '../lib/cli'
|
||||
Mastodon::CLI.start(ARGV)
|
@ -0,0 +1,11 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'thor'
|
||||
require_relative 'mastodon/media_cli'
|
||||
|
||||
module Mastodon
|
||||
class CLI < Thor
|
||||
desc 'media SUBCOMMAND ...ARGS', 'manage media files'
|
||||
subcommand 'media', Mastodon::MediaCLI
|
||||
end
|
||||
end
|
@ -0,0 +1,47 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative '../../config/boot'
|
||||
require_relative '../../config/environment'
|
||||
|
||||
# rubocop:disable Rails/Output
|
||||
|
||||
module Mastodon
|
||||
class MediaCLI < Thor
|
||||
option :days, type: :numeric, default: 7
|
||||
option :background, type: :boolean, default: false
|
||||
desc 'remove', 'remove remote media files'
|
||||
long_desc <<-DESC
|
||||
Removes locally cached copies of media attachments from other servers.
|
||||
|
||||
The --days option specifies how old media attachments have to be before
|
||||
they are removed. It defaults to 7 days.
|
||||
|
||||
With the --background option, instead of deleting the files sequentially,
|
||||
they will be queued into Sidekiq and the command will exit as soon as
|
||||
possible. In Sidekiq they will be processed with higher concurrency, but
|
||||
it may impact other operations of the Mastodon server, and it may overload
|
||||
the underlying file storage.
|
||||
DESC
|
||||
def remove
|
||||
time_ago = options[:days].days.ago
|
||||
queued = 0
|
||||
|
||||
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|
|
||||
if options[:background]
|
||||
queued += media_attachments.size
|
||||
Maintenance::UncacheMediaWorker.push_bulk(media_attachments.map(&:id))
|
||||
else
|
||||
media_attachments.each do |m|
|
||||
Maintenance::UncacheMediaWorker.new.perform(m)
|
||||
print '.'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
puts
|
||||
puts "Scheduled the deletion of #{queued} media attachments" if options[:background]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# rubocop:enable Rails/Output
|
Loading…
Reference in new issue