はてなダイアリーのCSVファイルをlilyにimportする

id:ha-tan:20050316、id:ha-tan:20050321の続き(というかまだやってるのか)。
はてなダイアリーの「管理」からエクスポートできるCSVファイルをlily(Rubyで書かれたblogシステム)にimportできるようにちょきちょきするツールを書いてみた(CSVの特定のフィールドを切り出してファイルに保存、ファイルのタイムスタンプを更新してるだけ)。
うーん、やっぱりローカルでblogを見るのは何か間違っている気がするので、たぶん僕は使わないと思う。これももうメンテする気はあまりない。このプログラムのライセンスは、修正BSDライセンスとします。
使い方:

$ csv2bxm source lily_logdir

ソース: csv2bxm

#!/usr/bin/env ruby
# -*- ruby -*-
#
# $Id: csv2bxm,v 1.1 2005/03/22 12:55:59 s-tanaka Exp $
#
# usage: csv2bxm [hatena source] [output directory]
#

$KCODE = 'e'

require 'csv'
require 'nkf'
require 'time'

def hd_open(filename)
  is_title = true
  CSV.open(ARGV[0], 'r') do |row|
    if is_title
      is_title = false
      next
    end
    yield(row[0].data, row[2].data)
  end
end

def toeuc(str)
  NKF.nkf("-e -S", str)
end

def usage
  puts "usage: csv2bxm [hatena source] [output directory]"
  exit
end

usage if ARGV.size < 2

hd_open(ARGV[0]) do |date, body|
  time = Time.parse(date)
  filename = ARGV[1] + '/' + time.strftime("%Y%m%d.txt")
  open(filename, 'w') do |file|
    file.puts(toeuc(body))
  end
  File.utime(time, time, filename);
end

BUGS。

  • コメントに対応していない。
  • エラーチェックをいろいろはしょっています。(^^;;