Information

 

Home > PC > 2chdat.pmの変更

2chdat.pmの変更

2++で2ch DAT形式の電車運行情報を見ることができるようになったが、どうも見映えが悪い。
2++のスレッド画面上部には投稿順の連番、日付、ID、投稿者名が表示されるが、掲示板のデータを表示したいわけではないので、必要なデータをもっと簡潔に表示したい。
そのためには、2chdat.pmを少し変更しなければならない。
ただ、Perlはよくわからず、勝手に想像しながらの変更なので、ちゃんと動くか自信はない。

$anonymousで定義されている変数、いわゆる名無しさんについては、自分で持ってきたデータを扱うので削除する。
2chdat.pmには個別のエントリー(2chでいうレス?)を処理する前にスレについて書き出すところがあるが、これも不要なので削除する。
for以下で個別のエントリについて処理するところも変更する。

if ($feed->count != 0) {
    for my $entry ($feed->entries) {
        printf $fh "%s<><>%s ID:%s<> %s\n",
            ($entry->title || $entry->author),
            $self->format_date( $entry->date || Plagger::Date->now ),
            substr($entry->id_safe, 0, 8),
            $self->format_body($entry->body) . "<P>" . $entry->link . "</P>";
    }
} else {
        printf $fh "No Info<><>%s ID:00000000<> No Info\n",
            $self->format_date( Plagger::Date->now );
}
(中略)
sub format_date {
    my($self, $date) = @_;
    my $clone = $date->clone;
    $clone->set_locale("ja_JP");
    return $clone->strftime("%m/%d(%a) %H:%M");
}

投稿者名のところにはタイトルを入れるようにし、日付のフォーマットを12/10(月) 12:00のように短くした。
運行情報がないときは処理すべきデータがなくエラーになっていたので、if ($feed->count != 0)で振り分けて、データがないときは適当な内容を書き出すようにした。
変更後はこのように表示されている。
2++での表示

Comments: 0

Comment Form

Trackbacks: 0

TrackBack URL for this entry
Listed below are links to weblogs that reference
2chdat.pmの変更 from 雑記