sl-feeds/bin/changelog_alphageek.rb

63 lines
1.4 KiB
Ruby
Executable File

#!/home/vbatts/opt/bin/ruby
#require 'fileutils'
require 'logger'
require 'tempfile'
require 'stringio'
require 'rubygems'
require 'slackware'
require 'slackware/changelog/rss'
#include FileUtils
$LOG = Logger.new(STDERR)
$LOG.level = Logger::WARN
FEEDS_BASE_DIR = "/home/vbatts/public_html/feeds/"
#url = 'http://alphageek.dyndns.org/linux/slackware-packages/slack-13.1/ChangeLog.txt'
# Sun Feb 13 08:44:35 PST 2011
# new url
URL = 'http://alphageek.dyndns.org/mirrors/alphageek/slackware-%s/ChangeLog.txt'
VERSIONS = %w{ 14.0 14.1 }
def url(ver)
URL % ver
end
if ARGV.include?('-v')
$LOG.level = Logger::DEBUG
end
VERSIONS.each {|ver|
begin
#tmp_file = File.open("/tmp/vbatts/alpha_log-#{(rand*1000).to_i}.xxx", "w+")
tmp_file = Tempfile.new("alpha_log")
$LOG.debug('tmp_file') { tmp_file }
strio = StringIO.new()
$LOG.debug('created ') { strio }
buffer = `lynx -source #{url(ver)}`
$LOG.debug('buffer length') { buffer.length }
tmp_file.write(buffer)
tmp_file.flush
changelog = Slackware::ChangeLog.new(tmp_file.path)
changelog.parse
strio.write(changelog.to_rss(
:noimage => true,
:title => "alphageek's #{ver} ChangeLog",
:url => url(ver)))
ensure
strio.seek(0)
tmp_file.close
end
feed_file = File.open(FEEDS_BASE_DIR + "alphageek-#{ver}_ChangeLog.rss", "w+")
$LOG.debug('feed_file') { feed_file }
feed_file.write(strio.read())
feed_file.close
}