Ruby script to post daily del.icio.us links to a blog.
This is a ruby script I (sloppily) cooked up to post daily del.icio.us links to my blog. It requires the Rubilicious library, and (because I'm lazy) is hardcoded to point at my blog.Change the line
server = XMLRPC::Client.new( "cracker.mocephus.org", "/xmlrpc.php")
So that it points to your blog and your xmlrpc endpoint. Only tested with my Wordpress blog.
An example run would be:
./daily_delicious.rb myblogusername myblogpassword mydelicioususername mydeliciouspassword 1
The last argument is how many days back you'd like to gather links for.
Example post here
#!/usr/local/bin/ruby require "xmlrpc/client" require 'rubygems' require_gem 'Rubilicious' begin unless ARGV.size == 5 $stderr.puts "Usage: $0 [bloguser] [blogpass] [deluser] [delpass] [days_back]" exit -1 end bloguser,blogpass,deluser,delpass,days_back= ARGV # Gather Links links_date = (Time.now - (86400 * days_back.to_i)) r = Rubilicious.new(deluser,delpass) content = "
- "
r.posts(links_date.strftime("%Y-%m-%d")).each do |link|
content += "
- #{link['href']}"
content += "
- "
content += "
- Description: #{link['description']} " content += "
- #{link['extended']} " content += "
- Posted: #{link['time']} " content += "
"
end
content += "
Click here for all of my del.icio.us bookmarks." # Post Links To Blog Via XMLRPC server = XMLRPC::Client.new( "cracker.mocephus.org", "/xmlrpc.php") newPost = Hash.new newPost['title'] = "del.icio.us bookmarks - #{links_date.strftime('%m/%d/%Y')}" newPost['description'] = content result = server.call("metaWeblog.newPost",1,bloguser,blogpass,newPost,true) rescue XMLRPC::FaultException => e puts "XMLRPC Error: " puts e.faultCode puts e.faultString rescue StandardError => e puts e.to_s end