b0VIM 8.2D`;,fjoshholtzJoshs-MacBook-Air.local~joshholtz/Developer/fastlane/fastlane/frameit/lib/frameit/runner.rb 3210#"! Utp^_ad^on_P=x   h   | e G \ R J I 0 <w;1%K7-!UKCB J }$& file.fetch_value(screenshot_path) return {} unless file # no config file at all file = ConfigParser.new.load(config_path) config_path = File.join(File.expand_path("../../../..", screenshot_path), "Framefile.json") unless File.exist?(config_path) config_path = File.join(File.expand_path("../..", screenshot_path), "Framefile.json") unless File.exist?(config_path) config_path = File.join(File.expand_path("..", screenshot_path), "Framefile.json") # Issue https://github.com/fastlane/fastlane/issues/16289 # compatibility with Supply we look into a different path for Android # frameit only handles two levels of folders, to not break # Screengrab pulls screenshots to a different folder location def create_config(screenshot_path) # Don't use this method to access the actual text and use `fetch_texts` instead # Loads the config (colors, background, texts, etc.) end end return Editor.new(screenshot, config, Frameit.config[:debug_mode]) else return MacEditor.new(screenshot, config) if screenshot.mac? def editor(screenshot, config) end false end return true UI.message("Skipping framing of screenshot #{screenshot.path} because its framed file seems up-to-date.") if !screenshot.outdated? && Frameit.config[:resume] def skip_up_to_date?(screenshot) end false end return true # we don't care about watches right now UI.error("Apple Watch screenshots are not framed: '#{path}'") if device.downcase.include?("watch") device = path.rpartition('/').last.partition('-').first # extract device name return true if path.include?("device_frames/") # these are the device frames the user is using return true if path.include?(".itmsp/") # a package file, we don't want to modify that return true if path.include?("_framed.png") def skip_path?(path) end end UI.error("Could not find screenshots in current directory: '#{File.expand_path(path)}'") else end end UI.error("Backtrace:\n\t#{ex.backtrace.join("\n\t")}") if FastlaneCore::Globals.verbose? UI.error(ex.to_s) rescue => ex end editor.frame! Helper.show_loading_indicator("Framing screenshot '#{full_path}'") else UI.message("Skipping framing of screenshot #{screenshot.path}. No title provided in your Framefile.json or title.strings.") if editor.should_skip? editor = editor(screenshot, config) next if skip_up_to_date?(screenshot) screenshot = Screenshot.new(full_path, color, config, platform) config = create_config(full_path) begin next if skip_path?(full_path) screenshots.each do |full_path| if screenshots.count > 0 screenshots = Dir.glob("#{path}/**/*.{png,PNG}").uniq # uniq because thanks to {png,PNG} there are duplicates end color = Frameit::Color::ROSE_GOLD if Frameit.config[:rose_gold] color = Frameit::Color::GOLD if Frameit.config[:gold] color = Frameit::Color::SILVER if Frameit.config[:white] || Frameit.config[:silver] unless color def run(path, color = nil, platform = nil) end end downloader.download_frames unless downloader.frames_exist? downloader = FrameDownloader.new def initialize class Runnermodule Frameitrequire_relative 'device_types'require_relative 'screenshot'require_relative 'module'require_relative 'frame_downloader'require 'fastimage'adend end end