#!/usr/bin/ruby
require 'rubygems'
require 'hpricot'
require 'open-uri'
require 'yaml'
input = YAML::load_file(ARGV[0])
modules = input['modules']
def check_table(group, name)
return if group.nil?
group.search('tbody tr').each do |row|
parts = row.search('td')
release = parts[0].search('a').text
if release.match(/^6\.[\dx]/)
date = parts[1].children[0].to_s
return "#{name} - #{release} - #{date}"
end
end
return nil
end
official_releases = []
development_releases = []
no_releases = []
modules.each do |name, url|
doc = Hpricot(open(url))
release_tables = doc.search('table.releases')
official_release = check_table(release_tables[0], name)
if official_release
official_releases.push(official_release)
else
dev_release = check_table(release_tables[1], name)
if dev_release
development_releases.push(dev_release)
else
no_releases.push(name)
end
end
end
puts "Officially Released:"
puts "\t" + official_releases.join("\n\t")
puts "\nDevelopment Release Only:"
puts "\t" + development_releases.join("\n\t")
puts "\nNo release yet:"
puts "\t" + no_releases.join("\n\t")