Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 日付順ソートに関して
From: Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx> さん曰く
Subject: [namazu-devel-ja] Re: 日付順ソートに関して
Message-ID: <3EEC832F.FD16ADBA@xxxxxxxxxxxxxxx>
Date: Sun, 15 Jun 2003 23:31:11 +0900
> > "フィールド date" って、NMZ.field.date, NMZ.field.date.i のこと
> > でしょうか?現状でも、$conf::SEARCH_FIELD に "date" が含まれてい
> > たら(デフォルトでは含まれている)、初めから mailnews.pl ってそう
> > なっていませんか?
>
> うぅ。なっていました。余計な修正でした。
>
> しかし、$conf::SEARCH_FIELD に "date" を含めなかった時にまずい
> ですね。ユーザーに削除されてしまうこともありえるので、その時でも
> 有効になっていなければいけませんね。
ですね。SEARCH_FIELD の default 値は
$SEARCH_FIELD = "message-id|subject|from|date|uri|newsgroups|to|summary|size";
ですが、他のもので必須なものってどうなっているのかしら?
# ごめんなさい、調べる能力と調べている余力がありません。
もう一点 NMZ.field.xxx を積極的に使うときに気になるのは、
$MAX_FIELD_LENGTH です。もし、こいつを極端に小さな値にしてあると、
Date: フィールドが途中でちょん切れている可能性がありますので、
mknmz のときに "Date:" は $MAX_FIELD_LENGTH の値によらず行末まで
有効にする、とか例外処理をしないとならないかも、です。
> > > 忘れの場合、結果で表示される日付と、ソートにもちいる日付が異な
> > > るため利用者の期待した結果にはソートされません。
> >
> > 『日付のソートを厳密にする』を目的にされるのでしたら、
>
> 決して厳密にするつもりではなくて、mailutime なしに使える程度を
> 考えています。
はい、だけど mailutime を使用する/使用しないの選択はユーザが出来
ますが、namazu に相当するものを組み込んじゃうとユーザの選択でど
うのこうのではなくなりますから、可能な限り厳密に対応したほうが良
いと思います。
> もちろん厳密にするのが望ましいのでしょうが、まずいところは誰かが
> 直してくれるだろうという甘い期待もあったりします。
へい。
# 私は不良 commiter。というかもう全然ついていけていません ^^;;;
> > > ・注意) timezone は考慮していません。timezone の異なるファイルが
> > > 混在した場合は正しく処理できません。
> >
> > 是非是非 timezone も見てくださいませ。+hhmm, -hhmm の表記法以外
> > は、RFC822 にのっている、
> >
> > ("UT" . 0), ("GMT" . 0), ("EST" . -5), ("EDT" . -4),
> > ("CST" . -6), ("CDT" . -5), ("MST" . -7), ("MDT" . -6),
> > ("PST" . -8), ("PDT" . -7)
> >
> > だけサポートすれば大丈夫だし、個人的には、timezone を見ない
>
> これ以外の場合はどうするのがよろしいのでしょう。
timezone の表記で許されているのは、今も昔も
zone = (( "+" / "-" ) 4DIGIT) / obs-zone
obs-zone = "UT" / "GMT" / ; Universal Time
; North American UT
; offsets
"EST" / "EDT" / ; Eastern: - 5/ - 4
"CST" / "CDT" / ; Central: - 6/ - 5
"MST" / "MDT" / ; Mountain: - 7/ - 6
"PST" / "PDT" / ; Pacific: - 8/ - 7
%d65-73 / ; Military zones - "A"
%d75-90 / ; through "I" and "K"
%d97-105 / ; through "Z", both
%d107-122 ; upper and lower case
だけですよ。って、Military zone は厳密に実装したとしても対応しな
くても良いと思いますが :-)
> # JST とか....というのは冗談ですが。
RFC2822 的には JST という timezone はないので、コンピュータが火
を吐けば良いですね。(本当はファイルのタイムスタンプを使う、ですかな)
> > Date: のソートなら、ファイルのタイムスタンプを使う方がマシ、と感
> > じられます。
>
> mailutime で困る方はそういらっしゃらないようですし、ケースバイ
> ケースだとは思います。
> もっとも、いろいろな timezone を扱う方にはそうですよね。
そうですね。ほうっておいてもメールは世界中から来ますからね。
> > ですが、RFC2822 の Date: は
> > date-time = [ day-of-week "," ] date FWS time [CFWS]
> > ~~~~~~~~~~~~~~~~~~~
> > time-of-day = hour ":" minute [ ":" second ]
>
> これも mailutime 程度の対応ということです。
> しかし、きちんと対応するのは簡単ですので、修正しましょう。
お願いします。
> > です。day-of-week や ":second" がないと、return が -1 になっちゃ
> > うような気がしますが、sscanf の挙動が良くわからないので、"%*3s,
> > " がどうなるのかわかりません。
>
> ちなみに
> day-of-week がないと return が 0 になり、":second" がないと
> return が 5 になります。
# すいません、自分で実験しないといけなかったんですが、申し訳ない
# です。
> 真面目にやると、曜日と日付があっているのかとかチェックしないと
> いけないのかもしれませんが、Namazu 全般でそんな厳しいチェックは
> していないのでそれはパスしていいでしょう。
"パス一" に賛成です。というか曜日は最初から気にしなければよいだ
けなので :-)
--
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)