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年05月08日
comparison on ./buildsh tools
2024年05月06日
py-setuptools (python 3.11.9)
make release took 1 hours and 10 min
qemu invocation for 10.99.10
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
2024年04月29日
dkim
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)