hns - 日記自動生成システム - Version 2.19.9

先月 2000年07月 来月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2000年07月09日() 旧暦 [n年日記]

#1 [hns] たまに中身が表示されないことがある。

のは 「cache が(何かの原因で)作られなかったのに、 作られたことになっている」 気がする。その(何かの原因)の一つは、例えば cache/2000/ の持主が (Web の走っている権限でなく) 自分になってしまっている。 とか。

重複:

これは ~/diary/cache/2000/20000619.xhnf の中身が何かの理由で重複して作られてしまったので、 それを書替えるきっかけがなければ、自然に直る ということはない。
以下いろいろ調べたが、多分意味がない。 public_html/diary/lib/HNS/Diary.pm
    116 sub Read($)
    117 {
    118     my $self = shift;
    119     my $ok;
    120     my $warning_message;
    121
    122     # xhnf checking
    123     my ($year, $month, $day) = ($self->year, $self->month, $self->day);
    124     my $xhnf = "$HNS::System::CacheDir/$year/$year$month$day.xhnf";
    125     if (-f $xhnf) {
    126         my $xhnf_lm = (stat($xhnf))[9];
    127         if (($self->last_modified == $xhnf_lm)
    128                 || ($HNS::System::AllowCacheOnly && ! -e $self->filename)) {
    129             $self->read_done(1);
    130             return;
    131         }
127 行目の last_modified を見ると、 「元の時刻情報と、Cache xhnf が同じなら、処理は飛ばす」という Cache について当然の処理が書いてある。
makoto@milano ■18:50:41/000709(~...lib/HNS)> grep -n last_modified Diary.pm
48: last_modified
53:attributes qw(filename year month day tree user_var last_modified 
104:    # set last_modified
105:    $self->last_modified((stat($self->filename))[9]);
127:        if (($self->last_modified == $xhnf_lm)
210:        if (($self->last_modified == $xhnf_lm)
257:    utime($self->last_modified, $self->last_modified, $xhnf);
以前の d20000619.hnf を touch したい気分。 xhnf を書出しているのは次の部分
(index.cgi)
    173 # recent
    174 else {
    175     $col->ReadRecent($HNS::System::DefaultMax);
    176 }
    177 
    178 # print
    179 $hns->Print($col);

(lib/HNS/Collection.pm)

     71 sub Read($$$$)
     72 {
     73     my ($self, $year, $month, $day) = @_;
       ......
     85     for my $ymd (sort keys %{$self->diarys}){

    114     @files = grep /^d\d{4,}$month$day\.hnf$/, readdir DIR;

    100 sub ReadDay($$$) 
    101 {
    102     my ($self, $month, $day) = @_;

    121         $self->diarys->{$1} = $diary;

    176  最新 $max 分を読み込む。

    180 sub ReadRecent($;$)
    181 {
    182     my ($self, $max) = @_;
        .....
    204             $diary->Read;


(lib/HNS/Diary.pm)
    190 sub Print($$)
    191 {
    192     my $self = shift;
    193     my $reverse_sec = shift;
        .....
    250     open X, ">$xhnf";
    251     eval 'flock(X, LOCK_EX)';
    252     # head
    253     my $head = $HNS::Diary::Head;
    254     $head =~ s/%user{([A-Z]+)}/$self->user_var->Eval($1)/ge; # user var
    255     $templ->SetTemplate($head);
    256     print X $templ->Expand;
    257     if ($self->has_user_var) {
    258         my $user_var = $HNS::Diary::UserVar;
    259         $user_var =~ s/%user{([A-Z]+)}/$self->user_var->Eval($1)/ge; # user var
    260         $templ->SetTemplate($user_var);
    261         print X $templ->Expand;
    262     }
    263     close X;
    264
    265     # diarys
    266     $self->tree->Print($self->year, $self->month, $self->day, $HNS::Diary::section);
    267 



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)