forked from asonix/mastodon
- Change audio files to not be stripped of metadata - Automatically extract cover art from audio if it exists - Add `thumbnail` parameter to `POST /api/v1/media`, `POST /api/v2/media` and `PUT /api/v1/media/:id` - Add `icon` to represent it in attachments in ActivityPub - Fix `preview_url` containing URL of missing missing image when there is no thumbnail instead of null - Fix duration of audio not being displayed on public pages until the file is loaded
21 lines
682 B
Ruby
21 lines
682 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'mime/types/columnar'
|
|
|
|
module Paperclip
|
|
class TypeCorrector < Paperclip::Processor
|
|
def make
|
|
return @file unless options[:format]
|
|
|
|
target_extension = '.' + options[:format]
|
|
extension = File.extname(attachment.instance_read(:file_name))
|
|
|
|
return @file unless options[:style] == :original && target_extension && extension != target_extension
|
|
|
|
attachment.instance_write(:content_type, options[:content_type] || attachment.instance_read(:content_type))
|
|
attachment.instance_write(:file_name, File.basename(attachment.instance_read(:file_name), '.*') + target_extension)
|
|
|
|
@file
|
|
end
|
|
end
|
|
end
|