Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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")
Add Comment
Please, Sign In to add comment