読み捨てブックマーク

特定のタグをつけてそれを定期的に取得。削除を繰り返せばいいか。


問題は,ブックマークしてから一週間後に削除みたいなのは面倒だなぁ。
解決策としてブックマークした日付から一週間たってないものは残すってのを採用する。


明日起きて簡単なスクリプトを書く。

できた

#!/usr/bin/ruby

require 'net/https'
require 'rexml/document'
require 'time'

username = 'ユーザ名'
password = 'パスワード'
tag = '読み捨てタグ'

urls = []
xml = ''
now = Time.now

http = Net::HTTP.new('api.del.icio.us', 443)
http.use_ssl = true
http.start do |http|
    request = Net::HTTP::Get.new("/v1/posts/all?tag=#{tag}")
    request.basic_auth(username, password)
    response = http.request(request)
    xml = response.body
end

REXML::Document.new(xml).root.get_elements('post').each do |post|
    url = post.attributes['href']
    time = post.attributes['time']
    post_time = Time.parse(time)
    urls << url if now - post_time > 604800
end

urls.each do |url|
    puts "deleting #{url}\n"
    http = Net::HTTP.new('api.del.icio.us', 443)
    http.use_ssl = true
    http.start do |http|
        request = Net::HTTP::Get.new("/v1/posts/delete?url=#{url}")
        request.basic_auth(username, password)
        response = http.request(request)
    end
    sleep 5
end

たぶんできた。一週間って 604800 秒だよね?
Time オブジェクトの引き算に感動した。


これを一日一回うごかす。

イデア

追加タグでどれだけの期間残すかみたいなの。 ex) tag: yomisute, 5days