Improve handling of libvips failures (#30597)

This commit is contained in:
Claire 2024-06-07 17:39:41 +02:00 committed by GitHub
parent 80cd001e0a
commit 82be5d033f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 1 deletions

View file

@ -12,6 +12,8 @@ module Paperclip
attachment.instance.blurhash = Blurhash.encode(width, height, data, **(options[:blurhash] || {})) attachment.instance.blurhash = Blurhash.encode(width, height, data, **(options[:blurhash] || {}))
@file @file
rescue Vips::Error => e
raise Paperclip::Error, "Error while generating blurhash for #{@basename}: #{e}"
end end
private private

View file

@ -69,6 +69,8 @@ module Paperclip
attachment.instance.file.instance_write(:meta, (attachment.instance.file.instance_read(:meta) || {}).merge(meta)) attachment.instance.file.instance_write(:meta, (attachment.instance.file.instance_read(:meta) || {}).merge(meta))
@file @file
rescue Vips::Error => e
raise Paperclip::Error, "Error while extracting colors for #{@basename}: #{e}"
end end
private private

View file

@ -68,7 +68,7 @@ module Paperclip
end end
dst dst
rescue Terrapin::ExitStatusError => e rescue Vips::Error, Terrapin::ExitStatusError => e
raise Paperclip::Error, "Error while optimizing #{@basename}: #{e}" raise Paperclip::Error, "Error while optimizing #{@basename}: #{e}"
rescue Terrapin::CommandNotFoundError rescue Terrapin::CommandNotFoundError
raise Paperclip::Errors::CommandNotFoundError, 'Could not run the `ffmpeg` command. Please install ffmpeg.' raise Paperclip::Errors::CommandNotFoundError, 'Could not run the `ffmpeg` command. Please install ffmpeg.'