discourse/lib/tasks/avatars.rake

34 lines
860 B
Ruby
Raw Normal View History

desc "Refresh all avatars (download missing gravatars, refresh system)"
task "avatars:refresh" => :environment do
i = 0
2014-06-27 01:50:16 +08:00
puts "Refreshing avatars"
puts
2014-06-27 01:50:16 +08:00
User.find_each do |user|
user.refresh_avatar
user.user_avatar.update_gravatar!
putc "." if (i += 1) % 10 == 0
end
2014-06-27 01:50:16 +08:00
puts
end
desc "Clean up all avatar thumbnails (use this when the thumbnail algorithm changes)"
task "avatars:clean" => :environment do
i = 0
2014-06-27 01:50:16 +08:00
puts "Cleaning up avatar thumbnails"
puts
2014-06-27 06:04:48 +08:00
OptimizedImage.where("upload_id IN (SELECT custom_upload_id FROM user_avatars)")
.where("upload_id IN (SELECT gravatar_upload_id FROM user_avatars)")
.where("upload_id IN (SELECT uploaded_avatar_id FROM users)")
.find_each do |optimized_image|
optimized_image.destroy!
putc "." if (i += 1) % 10 == 0
end
2014-06-27 01:50:16 +08:00
puts
end