Skip to content

Instantly share code, notes, and snippets.

@yhara
Created July 17, 2010 15:58
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save yhara/479593 to your computer and use it in GitHub Desktop.
Save yhara/479593 to your computer and use it in GitHub Desktop.
require 'cgi'
require 'rubygems'
require 'json'
require 'mechanize'
require 'pit'
# LDR
ldr_login = Pit.get("member.livedoor.com", :require => {
"username" => "your livedoor_id",
"password" => "your password"
})
agent = Mechanize.new
agent.get("https://member.livedoor.com/login/?.next=http%3A%2F%2Freader.livedoor.com%2Freader%2F&.sv=reader"){|login_page|
form = login_page.form_with(:name => "loginForm")
form["livedoor_id"] = ldr_login['username']
form["password"] = ldr_login['password']
form.submit
}
urls = JSON.parse(agent.post("http://reader.livedoor.com/api/pin/all").body)
puts "#{urls.size} pins detected"
# RIL
RIL_API_KEY_FOR_LDR2RIL = 'fn4Tcn40g8890j6a60d40gnw02pdC730'
ril_login = Pit.get("readitlaterlist.com", :require => {
"username" => "your readitlater id",
"password" => "your password"
})
ril_url_base = "username=#{ril_login['username']}&password=#{ril_login['password']}&apikey=#{RIL_API_KEY_FOR_LDR2RIL}"
agent.get("https://readitlaterlist.com/v2/auth?#{ril_url_base}")
urls.reverse.each do |item|
print "adding #{item['link']} (#{item['title']}) ..."
$stdout.flush
result = agent.get("https://readitlaterlist.com/v2/add?#{ril_url_base}&url=#{item['link']}&title=#{CGI.escape item['title']}")
if result.response["status"] != "200 OK"
raise "some error happend in the server: #{result.inspect}"
end
puts "done."
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment