lib/scoutui/eyes/utils.rb in scoutui-2.0.5.2 vs lib/scoutui/eyes/utils.rb in scoutui-2.0.5.2.1.pre

- old
+ new

@@ -24,11 +24,19 @@ # Finally, join the parts with a period and return the result return fn.join '.' end + def get_session_id_from_batch(url) + /batches\/\d+\/(?<sessionId>\d+)/.match(url)[1] + end + def get_batch_id_from_batch(url) + /batches\/(?<batchId>\d+)/.match(url)[1] + end + + def get_session_id(url) /sessions\/\d+\/(?<sessionId>\d+)/.match(url)[1] end def get_batch_id(url) @@ -54,26 +62,47 @@ end end def download_diffs(results, view_key, destination) Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " download_diffs(#{results}, #{destination})" - session_id = get_session_id(results.url) - batch_id = get_batch_id(results.url) + + # Check if BATCH + if /\/batches\/\d+\/(?<batchId>\d+)/.match(results.url) + session_id = get_session_id_from_batch(results.url) + batch_id = get_batch_id_from_batch(results.url) + else + session_id = get_session_id(results.url) + batch_id = get_batch_id(results.url) + end + diff_urls = get_diff_urls(batch_id, session_id, view_key) Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " session_id : #{session_id}, batch_id : #{batch_id}" download_images(diff_urls, destination) end def download_images(diff_urls, destination) - diff_urls.each do |index, elem| - save_name = sanitize_filename(elem[:tag]) + ".#{elem[:isMatching].to_s}.step_#{elem[:index]}_diff.png" - File.open("#{destination}/#{save_name}", 'wb') do |file| - file.write HTTParty.get(elem[:url]) + rc=true + + begin + diff_urls.each do |index, elem| + save_name = sanitize_filename(elem[:tag]) + ".#{elem[:isMatching].to_s}.step_#{elem[:index]}_diff.png" + File.open("#{destination}/#{save_name}", 'wb') do |file| + file.write HTTParty.get(elem[:url]) + end end + + + rescue => ex + Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " #{ex.class}: download_images." + Scoutui::Logger::LogMgr.instance.info ex.backtrace + rc=false end + + rc + end def get_diff_urls(batch_id, session_id, view_key) info = "https://eyes.applitools.com/api/sessions/batches/#{batch_id}/#{session_id}/?ApiKey=#{view_key}&format=json" print "\r\n info:" + info + "\r\n" @@ -100,6 +129,6 @@ end end -end \ No newline at end of file +end