diff --git a/_scripts/generate-release-notes.rb b/_scripts/generate-release-notes.rb index 1a54cd1d..919dbda6 100755 --- a/_scripts/generate-release-notes.rb +++ b/_scripts/generate-release-notes.rb @@ -178,19 +178,26 @@ def build_frontmatter }.to_yaml.gsub(/^:/, '') end -# Download the image from GitHub and save locally +# Download the image from a GitHub and save locally def download_image(url, basename) - extension = url.split('.').last - filename = "#{basename}.#{extension}" - - # Download and save file - image = Net::HTTP.get(URI(url)) - File.write("images/#{filename}", image) - - @files_images.push("images/#{filename}") + uri = URI(url) + response = Net::HTTP.get_response(uri) + + case response + when Net::HTTPRedirection + new_url = response['location'] + download_image(new_url, basename) + when Net::HTTPSuccess + extension = File.extname(uri.path) + local_file = "#{basename}#{extension}" + File.write("images/#{local_file}", response.body) + @files_images << local_file + else + warn "Error: Unable to download the image from #{url} - Response: #{response.code}" + end - # Return filename (with extension) - filename +rescue StandardError => e + warn "Error downloading the image: #{e.message}" end def process_images(notes)