namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FW: [namazu:01919] Re: 表示順序・NEW



古川と申します。

>> On Tue, 26 Jan 1999 12:03:09 +0900, "Tetsuji Kataoka" <kata@xxxxxxxxxxxxxx> said:
>> ●個々のID毎に”NEW"などの属性を付けて
>>  結果に表示することは可能でしょうか?
  >> 
  >> (?_?)
  >> 
  > すみません。これもサーチエンジンなどで検索結果に”NEW"などの
  > イメージが付いているのをみてそのようなコントロールが登録日
  > などによって制御できるかな?と思ったもので。
  > ご回答によればtime stampを持つということなので、
  > cgiなどで登録された日付がいつ以降であれば、”この情報は
  > 新しいですよ”といったことを”NEW"などのイメージを付加して
  > 検索結果に表示できたらと思って質問させていただきました。

日付をチェックして、データベースに "now" とかを付加できるようなスクリ
プトを書いてみました。

$DAY とか $NOW をテケトーに変更してみてください。


NMZ.(f|fi|r) を書き換えます。

すみませんが、簡単なチェックしかしていないので、バグのある可能性はあり
ます。バックアップをとって実行することをお勧めします。

pnamazu に付いている、nmztxt.pl というものが必要です。

------------------------------ ここから ------------------------------
#!/usr/local/bin/perl5
require 'nmztxt.pl';            # from pnamazu


# 最近 $DAY 日以内に更新したファイルについて、$NOW を付加する
# ここを適当に変更!
$DAY = 7;
$NOW = "<EM>now</EM>";


# $NOW を付加する時刻の計算
$T = $^T - ($DAY * 60 * 60 * 24);

# テンポラリファイルの設定
$FI = 'FLIST_I.tmp';
$FO = 'FLIST_O.tmp';

$| = 1;
&nmztxt::init('NMZ');
# データベース -> テキストの変換
&nmztxt::flist2txt($FI);

$/ = '';
if (open(TIM, "$nmztxt::DbPath.t")){
    open(FI, $FI);
    open(FO, ">$FO");

    while (defined($felem = <FI>)){
        last unless defined($tim = &nmztxt::readint(*TIM));
        ($fileno, $r, $dt, $st, $summary, $dd) = split(/\n/, $felem, 6);

        $st =~ s/\<\!\-\- NOW \-\-\>.*//;
        $st .= "<!-- NOW -->$NOW" if $tim > $T;

        $felem = "$fileno\n$r\n$dt\n$st\n$summary\n$dd";
        print FO "$felem\n\n";
    }
    close(FI);
    close(FO);

    # データベースに書き戻す
    &nmztxt::txt2flist($FO);
    &nmztxt::end;
    unlink($FO);
}
unlink($FI);

------------------------------ ここまで ------------------------------

という具合に、ツールを作りやすくするように、nmztxt.pl というものを作っ
たのですが、実際にツールを作ろうとすると、まだ機能が不足していますね。

それと、インデックスのマージツールを作ろうとしたら、やはり機能が不足し
ていたので、そのうち、変更しようと思っています。

-- 

                                        ヤマハ(株)ピアノプレーヤ設計課
                                                              古川 令
                                             furukawa@xxxxxxxxxxxxxxxx