add env var for max length of audio uploads

pull/992/head
Izalia Mae 2019-04-11 07:23:31 -04:00 committed by ThibG
parent bb50ec2e66
commit f11ad4023c
1 changed files with 4 additions and 2 deletions

View File

@ -3,10 +3,12 @@
module Paperclip module Paperclip
class AudioTranscoder < Paperclip::Processor class AudioTranscoder < Paperclip::Processor
def make def make
max_aud_len = (ENV['MAX_AUDIO_LENGTH'] || 60.0).to_f
meta = ::Av.cli.identify(@file.path) meta = ::Av.cli.identify(@file.path)
# {:length=>"0:00:02.14", :duration=>2.14, :audio_encode=>"mp3", :audio_bitrate=>"44100 Hz", :audio_channels=>"mono"} # {:length=>"0:00:02.14", :duration=>2.14, :audio_encode=>"mp3", :audio_bitrate=>"44100 Hz", :audio_channels=>"mono"}
if meta[:duration] > 60.0 if meta[:duration] > max_aud_len
raise Mastodon::ValidationError, "Audio uploads must be less than 60 seconds in length." raise Mastodon::ValidationError, "Audio uploads must be less than #{max_aud_len} seconds in length."
end end
final_file = Paperclip::Transcoder.make(file, options, attachment) final_file = Paperclip::Transcoder.make(file, options, attachment)