nanashinonozomi.com : fmemo , PGP と GnuPG
fmemo : «前の日記(2008-11-01 (Sat)) 最新 次の日記(2008-11-03 (Mon))»

fmemo

不断の日記 (の体裁をした覚え書き) です。


2008-11-02 (Sun) [長年日記]

tdiaryserch で検索すると「Plugin error in '00default.rb'.」のエラーが発生(2)

tdiaryserch が「Plugin error in '00default.rb'.」エラーを吐く件について、ふと、

「tdiary/plugin/00default.rb の

19:		when 'month'
20:			Time::local( *@cgi.params['date'][0].scan(/^(\d{4})(\d\d)/ ).flatten )

の scan 絡みでエラーになっているんだったら、ココの判定に引っかからないようにすればいいんじゃね?」

と思いつき、場当たり的な対応をしてみた。 ついでに、一部、 EUC-JP で処理をするようになっている部分が残っていたようなので、それらも合わせて修正。

--- search.rb.org	2008-07-12 10:42:15.312500000 +0900
+++ search.rb	2008-11-02 15:22:12.031250000 +0900
@@ -191,7 +191,7 @@
 def setup_patterns(query)
   patterns = split_string(query).map {|pat|
     check_pattern pat
-    /#{Regexp.quote(pat)}/ie
+    /#{Regexp.quote(pat)}/iu
   }
   raise WrongQuery, 'no pattern' if patterns.empty?
   raise WrongQuery, 'too many sub patterns' if patterns.length > 8
@@ -206,7 +206,7 @@
 end
 
 def split_string(str)
-  str.split(/[\s#{Z_SPACE}]+/oe).reject {|w| w.empty? }
+  str.split(/[\s#{Z_SPACE}]+/ou).reject {|w| w.empty? }
 end
 
 def save_query(query, file)
@@ -380,14 +380,14 @@
     end
   when /Comment/
     cmt = component
-    escape((cmt.name + ': ' + cmt.body).slice(/\A.{0,120}/me))
+    escape((cmt.name + ': ' + cmt.body).slice(/\A.{0,120}/mu))
   else
     raise "must not happen: #{component.class}"
   end
 end
 
 def tdiary2text(html)
-  apply_tdiary_plugins(html).gsub(%r[<[^>]*>]em, '').slice(/\A.{0,120}/me)
+  apply_tdiary_plugins(html).gsub(%r[<[^>]*>]um, '').slice(/\A.{0,120}/mu)
 end
 
 Years = {}
@@ -401,7 +401,7 @@
 
 def initialize_tdiary_plugins(cgi)
   @plugin = TDiary::Plugin.new('conf' => @config,
-                               'mode' => 'month',
+                               'mode' => 'nil',
                                'secure' => false,
                                'diaries' => {},
                                'cgi' => cgi,

とりあえず、これで手元の環境では、件のエラーは出なくなったが、適切な修正なのかどうかは謎(^^;

Tags: tDiary
本日のツッコミ(全3件) [ツッコミを入れる]
こさか (2008-11-02 (Sun) 20:38)

無事,エラーが解消されました. <br>非常に助かりました. <br>ありがとうございました.

不断 (2008-11-03 (Mon) 10:09)

お役に立てたようで何よりですが、わたしの怪しいパッチを適用して実稼働環境で運用するのは危険性が…。 <br>開発陣の正式対応を待って頂いた方が良いのではないかと思います(^^;;; <br>

不断 (2008-11-03 (Mon) 20:27)

対策版がリリースされました。 <br>http://coderepos.org/share/browser/platform/tdiary/util/tdiarysearch/search.rb?rev=22629 <br>

[]