diff options
Diffstat (limited to 'toys/brhute-rb/pphidden.rb')
-rw-r--r-- | toys/brhute-rb/pphidden.rb | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/toys/brhute-rb/pphidden.rb b/toys/brhute-rb/pphidden.rb new file mode 100644 index 0000000..b6058db --- /dev/null +++ b/toys/brhute-rb/pphidden.rb @@ -0,0 +1,59 @@ +#require 'brhute' +#require 'derb' + +# XXX how to make this a nice iterator ? change context of a Fiber is hard +class Pp_iter + include Enumerable + def initialize(image, sx=0, sy=0, mx=100, my=100) + @domain = "www.pointerpointer.com" + @baseurl = "images/" + @image, @sx, @sy, @mx, @my = image, sx, sy, mx, my + @x, @y = sx, sy + end + def next + url = "%s/%s/N%0.4d_%d_%d.jpg" % \ + [@domain, @baseurl, @image, @x, @y] + @y += 1 + if @y > @my + @y = 0 + @x += 1 + if @x > @mx + raise(StopIteration.new("iteration reached an end")) + end + end + return url + end + def subset + # XXX we are redoing 1 time the same url + x, y = @x, @y + @x = mx = x + [@mx - x, 10].min + @y = my = y + [@my - y, 10].min + puts "XXX subset %d %d %d %d" % [x, y, mx, my] + Pp_iter.new(@image, x, y, mx, my) + end +end + +def test_iter + Pp_iter.new(73, 0, 0).next do |url| + puts url + end +end +def test_iter_subset + i = Pp_iter.new(73, 0, 0) + puts i.next + puts i.next + puts "SUB" + s = i.subset + puts s.next + puts s.next + puts "MAIN" + puts i.next + puts i.next +end + +#urls = Pp_iter(73, 0, 0) +#brhute::Brhute_ip(urls) + +# Distributed Execution for Ruby: +# de = derb.run_on_hosts(['_g', '_sd']) +# de.execute(Pphidden, urls.subset) |