おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2009年08月14日(Fri) 玄米から復活中 [長年日記]

[tDiary] tDiaryをturnkに上げようとする

4月から懸案になっていた、このホストの 有料オプションにやっと加入しました。 毎月$3でsubversionやらgitやら使えるようになりました。Thanks SMJ!

というわけで、やっとtDiaryをtrunkに追随させようと作業を始めました。

現在のtDiaryのバージョンは、2.2.0.20080208、Rubyは ruby 1.8.7 (2008-06-20 patchlevel 22) [alpha-netbsd]です。

まずは動作している日誌のデータを退避しておきました。 index.rbと同じディレクトリのtdiary.confで@data_pathを変更するのとなるべく同時に 、 @data_pathの指す先のディレクトリを仮のものにmvしました。 この状態で閲覧すると、キャッシュディレクトリが無いとのエラー。 @data_path内のtdiary.confにあったキャッシュのパスも変更したら、 いつも通り閲覧できるようになりました。

次に、trunkのtDiaryがこれから先参照するための@data_pathを 退避したディレクトリから、cp -pRで作りました。

さて、やっと最新のtDiaryをcheckout。 SourceForgeの文書*1 を参考に、svn co https://tdiary.svn.sourceforge.net/svnroot/tdiary。 Over quota。これじゃbranchぜんぶもらって来ちゃいますから。

気を取りなおして、下記のようにしました。

設定は運用中のものからコピーします。 ../dというのが運用中の日誌のディレクトリ。

これで閲覧できるはず! これでアクセス。時間がかかってるよ。 topするとrubyががんばって動いてる。データの文字コードを変換してるんだろうな。 同じホストの他の皆さんごめんなさい〜。 …って、

ここで時間切れとなりました。後で見る。

*1 しかしSourceForgeのプロジェクトページは見にくくなったよね。

[tDiary] スタイルをインストールし忘れる

さっきの続き。

まずはバックトレースを読んでみよう。 TDiaryLatest.newのなかで日を遡りながら日記のデータを読んでいくなかで、キャッシュが無い場合に、コメントを読み込む時に、コメントの行を(migrateしながら)読むか… ってキャッシュは消してみるべきだよね。…エラーは変化しない。 じゃあしかたないデバッグプリントをしこむ。

20090731の日記が無いことになってる。 実際には、この日は日記はあって、コメントもいただいている。 raiseの引数をdiaries.inspectをすると、空のままのハッシュだった。

デバックプリントをしながら追っていくと、 tdiary/defaultio.rbの223行目付近からのrestoreメソッドで、 237行目付近である日の日記に対してイテレータが動いているのはわかった。 しかし、イテレータを抜けた後のdiariesは空のまま。 240行目で制御がどこかに行ってしまう。 emptdiaryスタイルを入れてないのが問題のようだ。 227行目のbegin〜rescue〜endの枠をはずしてみると、 240行目で、「undefined method `new' for nil:NilClass (NoMethodError)」 がraiseされる。 本来は、これは、245行目でrescueされるはずなのだろうけれど、 raiseされているのはSyntaxErrorではない。 NoMethodErrorはNameErrorとしてもrescueされちゃうんだね。

styleメソッドはtdiary.rbの444行目に定義されていて、 知らないスタイルに対してはnilを返すので、 ここはNoMethodErrorだけをrescueすればいいだろう。

(メールアドレスは少しだけ難読化してあります。)

この状態で「emptdiary style not found (RuntimeError)」 が表示されるのを確認してから、

して、期待どおり(cssとか、まだ無い)日記が表示されるのを確認できた。

今日はtrunkのindex.rbにもホストの負荷リミットを入れておしまい。

本日のツッコミ(全1件) [ツッコミを入れる]
> zunda (2009年08月17日(Mon) 01:22)

おっと、上記ではだめでした。後ほどまとめなおします。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>