diff options
author | Laurent Ghigonis <laurent@p1sec.com> | 2013-04-21 10:02:21 +0200 |
---|---|---|
committer | Laurent Ghigonis <laurent@p1sec.com> | 2013-04-21 10:02:21 +0200 |
commit | bc3f7d771f8ec4b8bb6c39619cba036b6f20b9cd (patch) | |
tree | 40f3f50ddb76a759878585029ca92e83fbcc9ba3 /toys/brhute-rb/pphidden.rb | |
parent | add de - ideas on distributed execution (diff) | |
download | laurent-tools-bc3f7d771f8ec4b8bb6c39619cba036b6f20b9cd.tar.xz laurent-tools-bc3f7d771f8ec4b8bb6c39619cba036b6f20b9cd.zip |
brhute: start for the rb version
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) |