|
@ -372,16 +372,16 @@ module Mastodon |
|
|
option :concurrency, type: :numeric, default: 5, aliases: [:c] |
|
|
option :concurrency, type: :numeric, default: 5, aliases: [:c] |
|
|
option :verbose, type: :boolean, aliases: [:v] |
|
|
option :verbose, type: :boolean, aliases: [:v] |
|
|
option :dry_run, type: :boolean |
|
|
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 |
|
|
long_desc <<-LONG_DESC |
|
|
Fetch remote user data and files for one or multiple accounts. |
|
|
Fetch remote user data and files for one or multiple accounts. |
|
|
|
|
|
|
|
|
With the --all option, all remote accounts will be processed. |
|
|
With the --all option, all remote accounts will be processed. |
|
|
Through the --domain option, this can be narrowed down to a |
|
|
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 |
|
|
LONG_DESC |
|
|
def refresh(username = nil) |
|
|
|
|
|
|
|
|
def refresh(*usernames) |
|
|
dry_run = options[:dry_run] ? ' (DRY RUN)' : '' |
|
|
dry_run = options[:dry_run] ? ' (DRY RUN)' : '' |
|
|
|
|
|
|
|
|
if options[:domain] || options[:all] |
|
|
if options[:domain] || options[:all] |
|
@ -397,19 +397,25 @@ module Mastodon |
|
|
end |
|
|
end |
|
|
|
|
|
|
|
|
say("Refreshed #{processed} accounts#{dry_run}", :green, true) |
|
|
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 |
|
|
end |
|
|
|
|
|
|
|
|
say("OK#{dry_run}", :green) |
|
|
say("OK#{dry_run}", :green) |
|
|