lib/fontist/font_installer.rb in fontist-1.11.3 vs lib/fontist/font_installer.rb in fontist-1.11.5

- old
+ new

@@ -52,19 +52,33 @@ end end end def download_file(source) - request = source.urls.first - url = request.respond_to?(:url) ? request.url : request - Fontist.ui.say(%(Downloading font "#{@formula.key}" from #{url})) + errors = [] + source.urls.each do |request| + url = request.respond_to?(:url) ? request.url : request + Fontist.ui.say(%(Downloading font "#{@formula.key}" from #{url})) + result = try_download_file(request, source) + return result unless result.is_a?(Errors::InvalidResourceError) + + errors << result + end + + raise Errors::InvalidResourceError, errors.join(" ") + end + + def try_download_file(request, source) Fontist::Utils::Downloader.download( request, sha: source.sha256, file_size: source.file_size, progress_bar: !@no_progress ) + rescue Errors::InvalidResourceError => e + Fontist.ui.say(e.message) + e end def font_file?(path) source_file?(path) && font_directory?(path) end