2004-06-15 [長年日記]

_ [tDiary] RSS にタイムゾーンは必須

だそうなので、とりあえず手元の rAntenna を修正してみました。

diff -u -r1.5 antenna.rb
--- antenna.rb	16 May 2004 16:43:32 -0000	1.5
+++ antenna.rb	15 Jun 2004 03:26:38 -0000
@@ -131,7 +131,7 @@
 <title>#{CGI::escapeHTML( @title )}</title>
 <link>#{CGI::escapeHTML( @antenna_url )}</link>
 <description>#{CGI::escapeHTML( @title )}</description>
-<dc:date>#{Time.now.strftime( '%Y-%m-%dT%H:%M:%S' )}</dc:date>
+<dc:date>#{Time.now.strftime( '%Y-%m-%dT%H:%M:%S%z' )}</dc:date>
 <dc:language>ja</dc:language>
 <dc:rights>#{CGI::escapeHTML( @copyright )}</dc:rights>
 <dc:publisher>#{CGI::escapeHTML( @generator )}</dc:publisher>
@@ -165,7 +165,7 @@
 RDF
 			if @last_modified[item[2]] then
 				r << <<-RDF
-<dc:date>#{@last_modified[item[2]].strftime( '%Y-%m-%dT%H:%M:%S' )}</dc:date>
+<dc:date>#{@last_modified[item[2]].strftime( '%Y-%m-%dT%H:%M:%S%z' )}</dc:date>
 RDF
 			end
 			r << <<-RDF

ひょっとして Time#strftime の '%z' ってシステム依存だったりします? (refe で出てこなかったので)

それはそれとして、makerss.rb では、ちゃんとタイムゾーンをつけるようなコードになっているように見えるのに、何故ついてないんだろう? 修正されました。

[追記] Time#xmlschema なんてのがあるのですね。 さっそく上記の strftime(...) のところ xmlschema に変えてみると、%z だと「+0900」だったのが xmlschema だと「+09:00」になりました。 後者の方が正しいみたいだし、これでよしと。

このエントリーを含むはてなブックマーク 

_ [Wiki] mod_ruby hiki (6)

fdiary.net wikifarm を mod_ruby 化して以降 auto_link が効いていないという報告をいただいて調べてみたら、まだ変更すべき箇所が残っていたのでさくっと修正しました。 今日時点での CVS HEAD からの差分を置いておきます。 → mod_ruby-hiki-20030615.patch

さて、思ったよりも反応が無くて寂しいし (?)、そろそろ ML に投げてみるかな。 でもって、そろそろ適当にブランチ切ってコミットしたいなぁ。

[追記] な、なんと「管理」モードの認証がスキップされるという報告を受けました。 とり急ぎ fdiary.net wikifarm では管理モードを使用不可にしました。

[追記 2] 原因は、設定のロード順のミスでした。修正して上記のパッチを更新しました。なお、修正点は以下のとおりです。

--- hiki/config.rb~     2004-06-15 23:36:16.000000000 +0900
+++ hiki/config.rb      2004-06-16 00:22:30.000000000 +0900
@@ -11,8 +11,8 @@
   class Config
     def initialize
       load
-      load_cgi_conf
       default
+      load_cgi_conf

       instance_variables.each do |v|
        v.sub!( /@/, '' )
このエントリーを含むはてなブックマーク 

_ Ad 今日の Amazon ご注文

このエントリーを含むはてなブックマーク 
本日のツッコミ(全8件) [ツッコミを入れる]
_ zunda (2004-06-15 15:58)

ruby -ve 'p Time.now.strftime("%z")'が期待通りになったのは<br>ruby 1.8.1 (2004-05-02) [i386-freebsd5]<br>ruby 1.9.0 (2004-05-21) [i686-linux]<br>期待通りにならなかったのは<br>ruby 1.9.0 (2004-05-07) [sparc-solaris2.8]<br>でした。Cのstrftimeが対応してるかどうかによるのかな?

_ zunda (2004-06-15 16:52)

$ ruby -ve 'require "time"; p Time.now.xmlschema'<br>ruby 1.9.0 (2004-05-07) [sparc-solaris2.8]<br>"2004-06-14T21:51:16-10:00"<br>おお。

_ かずひこ (2004-06-15 17:07)

$ ruby -vrtime -e'p Time.now.xmlschema' の方がちょっと短い♪

_ ただただし (2004-06-15 18:14)

makerss.rbのバグは、なかなか興味深い原因だったよ……

_ 青木 (2004-06-15 20:42)

ちなみに strftime の %a, %b, %z は<br>システムやロケールで結果が変わります。

_ まのん (2004-06-15 23:16)

23:00現在で更新しても更新時にmakerss関連でエラーが出てます。実害は無いのですが多少気持ち悪いです。

_ かずひこ (2004-06-15 23:59)

↑さきほど makerss.rb を修正バージョンに更新しました。ご確認ください。

_ まのん (2004-06-16 07:47)

直ってます。感謝。

[]

トップ «前の日記(2004-06-14) 最新 次の日記(2004-06-16)»