トップ «前の日記(2008-07-29) 最新 次の日記(2008-07-31)» 編集

Route 477



2008-07-30

[ruby] 食品を絶対に腐らせないライフハックを考えてみた

全部Googleカレンダーにメモる。

636cb81579be0e1a6b2cf6b28bad93a9.png

いちいち手でイベントを作成するとかやってられないので、CSV形式の表をiCal形式のカレンダーをに変換するスクリプトを書いた。 元データはGoogle Docsで作成。

082dcd0f5bfe987aba06631276a9fa6b.png

スクリプトは以下。icalendar gemが神すぎる。

#!/usr/bin/env ruby
# usage: ruby csv2ical.rb hoge.csv > hoge.ics
# example of csv:
#   "Christmas Party",2008/12/25
#   "New Year Party",2009/01/01

require 'parsedate'
require 'csv'
require 'rubygems'
require 'icalendar'

if ARGV.size == 0
  puts "usage: #{$0} hoge.csv > hoge.ics"
  exit
else
  cal = Icalendar::Calendar.new

  CSV.foreach(ARGV[0]) do |food, date|
    cal.event do
      dtstart Date.parse(date)
      dtend Date.parse(date) + 1
      summary food
      description food
    end
  end

  puts cal.to_ical
end

8/4 追記: ブコメで教えてもらったのだが、そういうWebサービスもあるらしい。