what's wrong with the follwing script? At random point the save picture modal 
dialog hangs and the script waits for manual interaction for that modal and 
continues. I wanted to handle this by giving a timeout of 30 sec. and cancel 
the modal dialog and continue. Timeout is not happening. I guess this is 
because that is one the same thread. So I tried the a new thread for the Save 
function. but still the problem is same.

Any help appreciated.      


         begin
                    timeout(30) do |timeout_length|
                    t_start = Time.now
                    lnk = []
                    @@ie2.images.each {|image| lnk << image.src}
                    $imagename = []
                    i = 0
                         lnk.length.times do |x|
                              if (lnk[x].include? "bedbookers.com")
                              # do Nothing
                              elsif (lnk[x].include? "google")
                              # do Nothing
                              else
                                   $imagename[i]  = "#{$bb_id}" + "_" + "#{i}" 
+ ".jpg"
                                   @save_path = 
"F\:\\Get_Image\\image\\#{$imagename[i]}"
                                   if File.exists?(@save_path)
                                        puts " "
                                        puts "Image already Exists in " + 
@save_path
                                        $save_flag = "NO"
                                        i = i + 1
                                   else
                                        if  (@@ie2.image(:src, 
lnk[x]).hasLoaded?)
                                                       @@ie2.image(:src, 
lnk[x]).save(@save_path)
                                                       puts " "
                                                       puts "Image saved to " + 
"[EMAIL PROTECTED]" 
                                                       i = i + 1
                                                       $save_flag = "YES"
                                        else
                                             puts 'Image did not Load . .. ...'
                                        end
                                   end
                              end
                         end
                    t_end = Time.now
                    puts t_end - t_start
                    end
               rescue
               puts $!
               w = WinClicker.new
               hwnd = w.getWindowHandle(/Picture/)
                    if (hwnd >= 1)
                         puts 'hwnd is ' + "#{hwnd}"
                    w.clickWindowsButton_hwnd(hwnd, "Cancel")
                    puts 'Button Cancel clicked'
                    end
               end
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to