namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FW: [namazu:01919] Re: 表示順序・NEW
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx>
- Date: Wed, 27 Jan 1999 12:43:05 +0900
- X-ml-name: namazu
- X-mail-count: 01930
古川と申します。
>> 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