deliver/lib/deliver/download_screenshots.rb in fastlane-2.151.1 vs deliver/lib/deliver/download_screenshots.rb in fastlane-2.151.2

- old
+ new

@@ -26,45 +26,52 @@ version = app.get_edit_app_store_version(platform: platform) UI.user_error!("Could not find an edit version on App Store Connect. Try using '--use_live_version true'") if version.nil? end localizations = version.get_app_store_version_localizations + threads = [] localizations.each do |localization| - screenshot_sets = localization.get_app_screenshot_sets - screenshot_sets.each do |screenshot_set| - screenshot_set.app_screenshots.each_with_index do |screenshot, index| - file_name = [index, screenshot_set.screenshot_display_type, index].join("_") - original_file_extension = File.extname(screenshot.file_name).strip.downcase[1..-1] - file_name += "." + original_file_extension + threads << Thread.new do + download_screenshots(folder_path, localization) + end + end + threads.each(&:join) + end - url = screenshot.image_asset_url(type: original_file_extension) - next if url.nil? + def self.download_screenshots(folder_path, localization) + language = localization.locale + screenshot_sets = localization.get_app_screenshot_sets + screenshot_sets.each do |screenshot_set| + screenshot_set.app_screenshots.each_with_index do |screenshot, index| + file_name = [index, screenshot_set.screenshot_display_type, index].join("_") + original_file_extension = File.extname(screenshot.file_name).strip.downcase[1..-1] + file_name += "." + original_file_extension - language = localization.locale + url = screenshot.image_asset_url(type: original_file_extension) + next if url.nil? - UI.message("Downloading existing screenshot '#{file_name}' for language '#{language}'") + UI.message("Downloading existing screenshot '#{file_name}' for language '#{language}'") - # If the screen shot is for an appleTV we need to store it in a way that we'll know it's an appleTV - # screen shot later as the screen size is the same as an iPhone 6 Plus in landscape. - if screenshot_set.apple_tv? - containing_folder = File.join(folder_path, "appleTV", language) - else - containing_folder = File.join(folder_path, language) - end + # If the screen shot is for an appleTV we need to store it in a way that we'll know it's an appleTV + # screen shot later as the screen size is the same as an iPhone 6 Plus in landscape. + if screenshot_set.apple_tv? + containing_folder = File.join(folder_path, "appleTV", language) + else + containing_folder = File.join(folder_path, language) + end - if screenshot_set.imessage? - containing_folder = File.join(folder_path, "iMessage", language) - end + if screenshot_set.imessage? + containing_folder = File.join(folder_path, "iMessage", language) + end - begin - FileUtils.mkdir_p(containing_folder) - rescue - # if it's already there - end - - path = File.join(containing_folder, file_name) - File.binwrite(path, open(url).read) + begin + FileUtils.mkdir_p(containing_folder) + rescue + # if it's already there end + + path = File.join(containing_folder, file_name) + File.binwrite(path, open(url).read) end end end end end