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