はてなダイアリーへのアップロード

はてなダイアリーライター超手抜き版 はてなダイアリーライター(ruby版)を作ってみた。メカだら ver 0.2を参考に、拡張しているスクリプトを更新した。書いたコード*1はこれ。

  def get_body(date)
    return get_element(date,"body")
  end

  private
  def get_element(date,elm)
    edit_link = HATENA_URL + "/#{@id}/edit?date=" + date.strftime("%Y%m%d")
    edit_page = @agent.get(edit_link)
    edit_form = edit_page.forms.name("edit").first
    return edit_form[elm]
  end

意図は、以下のようにアップロード前にはてなのバックアップを保存しておくことです。

#backup
def backup(diary, date)
  path = "バックアップパス" + date.strftime("%Y%m%d") + ".diary"
  File.open(path,"w") {|wfile|
    wfile.write diary.get_body(date)
  }
end

      #アップロード
      diary = HatenaDiaryWriter.new('ユーザ名', 'パスワード')
      diary.login
      backup(diary,date)
      diary.update(date, hf.body, true)

*1:全体コードはもう少しまとまってから公開します。なお、昔の日記ではコード全体を公開しています。