|
|
|
@ -372,16 +372,16 @@ module Mastodon
|
|
|
|
|
option :concurrency, type: :numeric, default: 5, aliases: [:c]
|
|
|
|
|
option :verbose, type: :boolean, aliases: [:v]
|
|
|
|
|
option :dry_run, type: :boolean
|
|
|
|
|
desc 'refresh [USERNAME]', 'Fetch remote user data and files'
|
|
|
|
|
desc 'refresh [USERNAMES]', 'Fetch remote user data and files'
|
|
|
|
|
long_desc <<-LONG_DESC
|
|
|
|
|
Fetch remote user data and files for one or multiple accounts.
|
|
|
|
|
|
|
|
|
|
With the --all option, all remote accounts will be processed.
|
|
|
|
|
Through the --domain option, this can be narrowed down to a
|
|
|
|
|
specific domain only. Otherwise, a single remote account must
|
|
|
|
|
be specified with USERNAME.
|
|
|
|
|
specific domain only. Otherwise, remote accounts must be
|
|
|
|
|
specified with space-separated USERNAMES.
|
|
|
|
|
LONG_DESC
|
|
|
|
|
def refresh(username = nil)
|
|
|
|
|
def refresh(*usernames)
|
|
|
|
|
dry_run = options[:dry_run] ? ' (DRY RUN)' : ''
|
|
|
|
|
|
|
|
|
|
if options[:domain] || options[:all]
|
|
|
|
@ -397,19 +397,25 @@ module Mastodon
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
say("Refreshed #{processed} accounts#{dry_run}", :green, true)
|
|
|
|
|
elsif username.present?
|
|
|
|
|
username, domain = username.split('@')
|
|
|
|
|
account = Account.find_remote(username, domain)
|
|
|
|
|
elsif !usernames.empty?
|
|
|
|
|
usernames.each do |user|
|
|
|
|
|
user, domain = user.split('@')
|
|
|
|
|
account = Account.find_remote(user, domain)
|
|
|
|
|
|
|
|
|
|
if account.nil?
|
|
|
|
|
say('No such account', :red)
|
|
|
|
|
exit(1)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if account.nil?
|
|
|
|
|
say('No such account', :red)
|
|
|
|
|
exit(1)
|
|
|
|
|
end
|
|
|
|
|
next if options[:dry_run]
|
|
|
|
|
|
|
|
|
|
unless options[:dry_run]
|
|
|
|
|
account.reset_avatar!
|
|
|
|
|
account.reset_header!
|
|
|
|
|
account.save
|
|
|
|
|
begin
|
|
|
|
|
account.reset_avatar!
|
|
|
|
|
account.reset_header!
|
|
|
|
|
account.save
|
|
|
|
|
rescue Mastodon::UnexpectedResponseError
|
|
|
|
|
say("Account failed: #{user}@#{domain}", :red)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
say("OK#{dry_run}", :green)
|
|
|
|
|