1.1 --- a/src/scripts/backup_delicious Thu May 12 16:50:26 2011 -0500
1.2 +++ b/src/scripts/backup_delicious Tue Jun 21 21:01:42 2011 -0500
1.3 @@ -9,6 +9,7 @@
1.4 require 'rexml/document'
1.5 require 'time'
1.6 require 'pathname'
1.7 +require 'uri'
1.8
1.9 # clean up "using default DH parameters" warning for https
1.10 class Net::HTTP
1.11 @@ -30,6 +31,7 @@
1.12 options.file = nil
1.13 options.user = Etc.getlogin
1.14 options.password = nil
1.15 +options.url = "https://api.del.icio.us/v1/"
1.16 opts = OptionParser.new do |opts|
1.17 opts.on("-o", "--output-file [FILE]", "Write output to file") do |file|
1.18 options.file = file
1.19 @@ -37,6 +39,9 @@
1.20 opts.on("-u", "--user [USER]", "Username to log in with") do |user|
1.21 options.user = user
1.22 end
1.23 + opts.on("--url [URL]", "API URL") do |url|
1.24 + options.url = url
1.25 + end
1.26 opts.on("-v", "--verbose", "Turn on verbose logging") do
1.27 $log.level = Logger::DEBUG
1.28 end
1.29 @@ -46,6 +51,7 @@
1.30
1.31 begin
1.32 username = options.user
1.33 + url = URI.parse(options.url)
1.34 password =
1.35 `/usr/bin/security find-internet-password -g -a #{username} -s del.icio.us 2>&1`.
1.36 match(/password: \"(.*)\"/)[1]
1.37 @@ -53,15 +59,15 @@
1.38 root_ca = Pathname.new($0).dirname + "../share/curl/curl-ca-bundle.crt"
1.39 $log.debug("Root CA: " + root_ca)
1.40
1.41 - http = Net::HTTP.new("api.del.icio.us", 443)
1.42 + http = Net::HTTP.new(url.host, url.port)
1.43
1.44 - http.use_ssl = true
1.45 + http.use_ssl = url.scheme == 'https'
1.46 http.ca_file = root_ca
1.47 http.verify_mode = OpenSSL::SSL::VERIFY_PEER
1.48 http.verify_depth = 5
1.49
1.50 http.start() do |http|
1.51 - request = Net::HTTP::Get.new('/v1/posts/update')
1.52 + request = Net::HTTP::Get.new(url.path + 'posts/update')
1.53 request.basic_auth username, password
1.54 response = http.request(request)
1.55 response.value
1.56 @@ -76,7 +82,7 @@
1.57 end
1.58 end
1.59
1.60 - request = Net::HTTP::Get.new('/v1/posts/all')
1.61 + request = Net::HTTP::Get.new(url.path + 'posts/all')
1.62 request.basic_auth username, password
1.63 response = http.request(request)
1.64 response.value