トップ «前の日記(2009-07-10) 最新 次の日記(2009-07-12)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

2009-07-11 :-)

_ 朝ッ

1130 起床

だる

_ おひる

20090711_0.jpg

シーフードのクリームソーススパゲティ

_ [おやつ]コーヒーを飲むなど

20090711_1.jpg

おはぎ

_ [リッジレーサー7]リッジレーサー7

オンラインバトルなど。どうもルーム内での反応が遅いというか自分以外の反応が見えないときがある。ネットワークがラグってるのか。

  • 走行距離 25186.181 km
  • RSGP 進行度 100.0 %
  • 名声 18831 FP

_ 読書

2009年6月29日 - 2009年7月5日の読書メーター
読んだ本の数:1冊
読んだページ数:285ページ

狼と香辛料〈7〉Side Colors (電撃文庫)狼と香辛料〈7〉Side Colors (電撃文庫)
短編と中編。あとがきを読むまでホロ視点ということに気づかなかった。「甘いにおい」という言葉が多用されており、アリエスにくんかくんかしたい
読了日:07月02日 著者:支倉 凍砂

読書メーター

_ [読書メーター]読書メーター先週分のまとめプラグインの詰めが甘かったので結局 posttdiary することにした

アレ [ 20090619#p06 ]

プラグインが呼ばれるたびに最新の「先週分のまとめ」を取得して出力しているので、過去に書いた日記を表示すると表示した日を基準にして「先週」のぶんが表示されることになる。おそまつ。

取得した「先週分のまとめ」をどこかに保持しておけばいいんだが、tdiary のキャッシュを使えばよさそうなんだが、日記本文をキャッシュに保存しておくのはおかしいよなあ、ということであまり良い解決策を思い浮かばなかったので結局文章を posttdiary するようにした。

こんな流れ。いくつプロセスを起動するんだよ、という富豪なアプローチ。

crontab の @weekly を書いておく
↓毎週日曜日 00:00
book_meter.rb が起動する
↓先週分のまとめを取得
↓ localhost:25 へ投げる
postfix が受け取る
↓ .procmailrc を置いておく
procmail が起動する
↓
posttdiary が起動する
↓
tdiary へ書く

こんな book_meter.rb を用意しておく。日記への書き込みも WWW::Mechanize で出来そうだがまあいいや。

#!/usr/pkg/bin/ruby -Ke

require 'rubygems'
require 'mechanize'
require 'tmail'
require 'net/smtp'
require 'nkf'

class BookMeter

  def initialize
    @from = 'foo@example.jp'
    @to = 'bar@example.org'
  end

  def get
    mail = 'hoge@example.com'
    pass = 'PASSWORD'
    agent = WWW::Mechanize.new
    agent.get('http://book.akahoshitakuya.com/login')
    agent.page.form_with(:action => '/login'){|f|
      f.field_with( :name => 'mail' ).value = mail
      f.field_with( :name => 'password' ).value = pass
      f.checkboxes[ 0 ].check
      f.click_button
    }
    page = agent.get('http://book.akahoshitakuya.com/matome_lw')
    body = Nokogiri( page.body )
    text = body.search( 'textarea' )[ 1 ].to_s
    text.sub!( '<textarea onclick="this.select()" style="width:500px;height:200px;">', '' )
    text = "{{'" + text + "'}}"
    return text
  end

  def tsend( message )
    mail = TMail::Mail.new
    mail.to = @to
    mail.from = @from
    mail.subject = NKF.nkf( "-M", "読書" )
    mail.date = Time.now
    mail.mime_version = '1.0'
    mail.set_content_type 'text', 'plain', {'charset'=>'iso-2022-jp'}
    body = message
    mail.body = NKF.nkf( '-j', body )
    mail.write_back
    Net::SMTP.start( "localhost", 25 ) {|smtp|
      smtp.sendmail mail.encoded, @from, @to
    }
  end
end

def main
  bm = BookMeter.new
  text = bm.get
  bm.tsend( text )
end

main