@JVNをRuby化
2007年12月にPlaggerで作ったTwitterアカウント@JVNが、開発サーバのEtch->Lenny化に伴い、2008年12月より動かなくなっていたため、Ruby化。
#! /usr/bin/ruby
require "time"
require "rubygems"
gem "twitter4r"
require "twitter"
require "pit"
require 'rss/1.0'
require 'open-uri'
require 'cgi'
class Hash
def to_http_str
self.map{|key,value| "#{key}=#{CGI.escape(value.to_s)}"}.join("&")
end
end
begin
flg = 0
slink = nil
lfile = open("jvn.txt",'r')
lfile.each do |link| slink = link.chop end
lfile.close
config = Pit.get("JVN")
cl = Twitter::Client.new(config)
open('http://jvn.jp/rss/jvn.rdf') do |http|
response = http.read
result = RSS::Parser.parse(response, false)
result.items.each do |item|
title = item.title
link = item.link
if link == slink then break end
if flg == 0 and link != slink then
lfile = open("jvn.txt",'w')
lfile.puts link
lfile.close
flg = 1
end
mess = title + " " + link
cl.status(:post,mess)
sleep 60
end
end
rescue
print "RuntimeError: ", $!, "\n";
end