mirror of https://github.com/vbatts/sl-feeds.git
63 lines
1.4 KiB
Ruby
Executable File
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
|
|
}
|