LIRS を取得する PRagger プラグイン

を作ってみたけど,「LIRSってどんなんだっけ?」ってとこから始めたからどうもよくわからない。

こんなんでいいのかな。

LIRS と RSS の対応は表のようにしてみたけど,どうか。

LIRS RSS
更新時刻 (Last-Modified GMT) dc:date
更新時刻を取得した時刻(GMT)
サイトのGMTとの時差(秒)
サイトのURL link
サイトの容量
サイトのタイトル title
サイトの管理者
情報取得元サイトのURL
独自情報

require 'open-uri'
require 'rss/maker'
require 'zlib'
require 'kconv'
$KCODE = 'utf8'
def parse_lirs(record)
fields = record.chomp.split(",")
item = RSS::RDF::Item.new
item.title = fields[6]                                 # Title
item.link  = fields[5]                                 # URL
item.date  = Time.at(fields[1].to_i + fields[3].to_i)  # Last-Modified (local time)
return item
end
def load_lirs(config, data)
f = open(config["url"])
lirs = Zlib::GzipReader.wrap(f) {|gz| gz.read }.toutf8
items = lirs.map {|record| parse_lirs(record) }
return items
rescue
puts "LoadError File = #{config["url"]}"
return []
end