class NilClass def q; 'NULL'; end end class String def q; "'" + (gsub(/[\\'"]/){|c| "\\" + c }.gsub(/\n/,"\\n")) + "'"; end def date2iso case self # Sat Mar 9 18:53:16 MST 2013 when /([A-Z][a-z][a-z]) (\d+) (\d\d:\d\d:\d\d) M[S|D]T (20\d\d)/ then ms, d, hns, y = $1, $2.to_i, $3, $4 m = %w(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec).index(ms) + 1 sprintf('%s-%02u-%02u %s', y, m, d, hns) else '0000-00-00 00:00:00' end end end url = ARGV.shift sql = </ then :skip when /^On .* wrote:$/ then :skip when /^----/ then flip = !flip else body.push line.chomp if flip end end cnt = (body.join("\n"))[0,1500] sql = <<-SQL INSERT IGNORE INTO cffeed.mesg(url, tit, fro, tim, cnt, upd) VALUES(#{url.q}, #{tit.q}, #{fro.q}, #{tim.q}, #{cnt.q}, NOW()); SQL rescue Exception end puts sql