On 20.08.2008, at 17:47, Piero D'Ancona wrote:
Hans-Jörg Bibiko <bibiko@...> writes:
(Ask the TextMate List.tmCommand): application/octet-stream, 2398 bytes
Hans, as usual you have crazy and weirdly useful ideas. But... where's the script? I get a Not Found when I click on it
??
I've just opened my mail on an other Mac. I clicked at the attachment, TextMate opened, and installed the tmCommand. Normally it will be installed into your personal Bundle folder. Within that tmCommand you will find the Ruby script. The Ruby script runs with the latest ui.rb and progress.rb
If that doesn't work, here the script:
Input: nothing Output: Show as Tool Tip Scope: no scope Key binding: whatever
Command: #!/usr/bin/env ruby -wKU
SUPPORT = ENV['TM_SUPPORT_PATH'] require SUPPORT + '/lib/ui.rb' require SUPPORT + '/lib/progress.rb' require 'net/http' require 'uri'
url = "http://www.nabble.com/forum/Search.jtp?local=y&forum=18157&" page = 0 isHeaderSet = false
query = TextMate::UI.request_string(:title => 'Ask the TextMate List', :prompt => 'Search for:') exit 200 if query.nil? query.gsub!('"','%22') query.gsub!(/ +/, '+')
answer = "" answer += "<base href='http://www.nabble.com'>" TextMate.call_with_progress(:title => 'Ask the TextMate List', :summary => 'Searching…', :indeterminate => true) do |dlg| begin while true result = Net::HTTP.get( URI.parse("#{url}page=#{page}&query=# {query}") ) if ! isHeaderSet m = result.match(/(?m)(Found \d+ matching posts for .*? thread.?.)/) answer += "<div style='padding:1mm;background- color:lightgray;font-size:0.8em'>#{m[1]}</div>" isHeaderSet = true dlg.parameters = {'summary' => 'Preparing HTML page…', 'details' => m[1].gsub(/<[^>]*?>/, '') } end result.gsub!(/(?m)<div class="nabble" id="nabble".*?<table cellspacing=2 cellpadding=2 border=0 width="100%">/, '') result.gsub!(/(?m)style="font-size:0.9em;"/, 'style="display:none;"') result.gsub!(/(?m)<p>[^<]*?<div class="search-wrapper shaded- bg-color">.*?</html>/, '') answer += result page += 1 break if ! result.include?("Next 10 ") end rescue print "Error" exit 200 end end f = File.open("/tmp/TM_askList.html", "w") f.puts "#{answer}</table></body></html>" f.close `open "/tmp/TM_askList.html"` `sleep 2;rm -f "/tmp/TM_askList.html" &`
--Hans