dat->html化自動処理プログラムをつくるスレ
>85-86
やったつもり
/kako/xxxx/xxxxx/index.html のことなんだけど、dat2htmlは
"dat番号,スレタイトル,レス数\n"
の連続する index.txt を /kako/xxxx/xxxxx/ に作ることにして、
index.htmlは別途作ることにした方が、
/kako/index.html や /kako/index9.html の作成にも応用できていいと思うのだけど、どう?
既存の過去ログを洗い直す必要があるのが難点だが。
同じく、index.htmlの更新について、考えてました。
夜勤さんの話に、
不要 /accuse/kako/index.html
不要 /accuse/kako/index9.html
?? /accuse/kako/1000/index.html
作成 /accuse/kako/1000/10004/index.html
とあったので、/1000/index.htmlも作る必要があると思っていたのですが、
調べてみると板名や鯖名などSETTING.TXTからも
直接取得できない要素が幾つもあります。
/kako/index.htmlから取得することも考えたのですが、
よくよく見直すと/kako/index.htmlと/kako/1000/index.htmlは、
ほぼ同じ形式で、同じスクリプトで作られているようです。
とすれば、/1000/index.htmlは作らないでも良さそうです。
で、/1000/10004/index.html(/999/index.html)だけ考えます。
こちらは、一覧以外の部分は非常に簡素になっているので、
読みこんで解析(既変換分を取得)し、新規に変換されたものを加えて
書きこむ形でよさそうです。(d2chhtml.hから流用出来る部分もあります)
新規作成/再構築する場合でも、板毎に異なるのは「掲示板に戻る」の
リンクだけなので、ロジックは簡単だと思います。
負荷的にも「/10004/index.htmlを一度読みこみ、新規変換スレを加えて書き出す」
だけなら、終了直前に毎回行っても問題にならないでしょう。
(ただ、index.htmlがない場合は「過去ログの.htmlを全て開いてタイトルを取得」
しか方法はないと思います)
問題は、「過去ログのスレ削除」にどう対処するかでしょう。
新規変換分を追加する一方だと、削除されてもリンクが残ったままです。
「追加があった倉庫に対しては、同時にディレクトリ内の.html一覧を取得し、
.htmlが存在するスレのみを書き出す」という方法もありますが、
倉庫に追加される度にディレクトリを開くのは、ファイルが多い板の場合には
(例えば
http://corn.2ch.net/entrance/kako/index9.htmlの下には .html .html.gz .dat.gz合計で1万を超えているのが幾つもあります)
無視できない重い処理になる可能性があります。
また、この方式であっても、
「1つも新規に変換したスレがない倉庫内でスレ削除があった」時は
削除自体に気がつかず、indexを更新することができません。
結局、index.htmlのスレと実際に.htmlがあるスレとの整合性を保つためには
「過去ログのスレ削除が行われたら、どれでもいいから同じ倉庫内の
他のスレを(html等は残したままで)もう一度HTML化待ちに加える」という
方式を(削除スクリプト/削除した人が)とらない限り、
何らかの手段/時点で、全倉庫を調べる必要が生じます。
起動オプション等でこれを行うようにするのは問題ないでしょうが、
「スレ削除が行われるたびにindex.htmlを最初から作成し直す」のは、
できる限り避けたいところです。
それと、/kako/以下の各index.htmlも、あらかじめindex.html.gzが
作成されているようなので、これも更新したら圧縮する必要があります。
また、.gzの圧縮率は皆 gzip -6 相当(オプションなし=DEFAULT)のようです。
mod_gzipも(SETTING.TXT取得時に確認した限りでは)同等です。
で、作りかけてます。
一つの板が終了(時間切れ含)する時に、index.htmlを更新する必要がある倉庫について
index.htmlが既にあったら、既変換分を読みこむ
なければディレクトリと既存の.htmlから読みこむ
し、
新規に変換した分をマージし
index.htmlを書き出す
という動作を考えています。
この程度の動作なら極端に重くはないと思われるので、
起動毎に行っても構わないと思います。また、終了前に更新されるので
「変換済み一覧(done.txt)」が不要になります。
「なければディレクトリと既存の.htmlから読みこむ」が
ちょっと面倒なのでこれを後回しにして
あれば新規変換分と合わせて更新し、なければ新規変換分だけでindex作成
まで作って、なんとか動くようになったらcommitするつもりです。
あと、/accuse/kako/index.htmlと/accuse/kako/1000/index.htmlの方なんですが、
こちらはタイトルやレス数は必要なく、必要なのはスレッド数だけなので
夜勤さんスクリプトの方で、ls等を使って調べている気がします。
みんなおつかれー。
>>93 削除関係は、レス削除にしてもスレ削除にしても、削除スクリプトとの兼ね合いから
考える必要がありますね。
夜勤さんとの話し合いになると思いますが、過去ログ削除は例外的なことなので、
削除スクリプトの方で(もしくは簡易のシェルスクリプトか何かで)対応するのが
現実的かなと思います。
一応動いた。
まだ、「index.html新規作成時に倉庫内のhtmlを探す」動作はしていない
index.htmlの作成と圧縮を付けた。これで、一応は要求仕様を満たした、、と思う。
お久しぶり&乙カレーです.
ところで,現在どういう状態なんでしょう?
D-born対策等でそれどころじゃない!?
SYN-flood・HDD増設・ime.nuなどで忙しくて
テストしてる暇なんか無さそうだけど、少し変更してみた。
主な変更点は
・.htmlの圧縮を、出力ファイルを読みこまずにメモリ上で行うようにした
・index.htmlの更新を板終了毎→各倉庫ディレクトリ終了毎に
・コマンドラインで多少動作を変更できるようにした
・旧形式のログの変換ミスを修正
など。
と、週末の変更が一段落ついたのでこちらにも書きこみ。
個人的には、
夜勤さんが
http://yasai.2ch.net/test/read.cgi/event/1012552935/ に書きこむ位の暇ができたら、テストも出来るんじゃないかと。
微修正。主な変更は
・「掲示板に戻る」のリンクを"/bbs/index.html"から"/bbs/"に
・既に変換済みのログの形式を.dat.gzから判別することも可能にした
・既に変換済みの.htmlからタイトル等を取得する部分のバグ修正
index.html内のタグを小文字で統一し、
「投稿日」の曜日等の補完もできるようにしてみた。
保全。。。
・壊れたdatを変換しないよう(設定で変更可能)にした
・移転後の残骸は無条件で変換しないようにした
・移転後の.datにレスが続いているもの(古いdatに存在)の扱いを
変換する/壊れたdatと同じ から選べるようにした
>>106 昨日声掛けたんだけど、ヒマがないらしい・・・(;´Д`)
108 :
期待AGE!!!!:02/03/02 19:27
どもども、いつもお世話になっています。
おいちゃんだ〜〜。
遅いのは気にしなくていいと思われ。
こっちはマターリ待ってますんでヽ(´ー`)ノ
時間に余裕が出来たら、ローカル環境とかで
>>106をやってみて
問題がでたら教えてくださいな
顔出してくれてありがとー。またーりやりましょね。
なかなか 忙しくて、ここにこれない私。
なんとか 今週中には ダウンロードしてコンパイルに挑戦したい。
お疲れさまです。
なかなか 忙しくて ここにこれない夜勤 ★さん。
むしろ 漏れが 手伝ってあげたい。
過去ログをime.nu固定にするのはチョトコワイ、、、
>>118 double-free問題は展開時の問題。
これやread.cgiは圧縮しかしないから平気っしょ。
>>119 そういえばそだね (`ο`)シンダフリ
dat2Html が実戦投入されないのは、
dat落ち過去ログにお金払ってくれる人が減っちゃうから?
122 :
デフォルトの名無しさん:02/03/21 22:49
dat2htmlを改造して、
dat落ちから○日以上たったスレだけをhtml化・・・とかでもいいけどね
どのサーバも重くてネ (なんにもできないぞー)
まずは、サーバ増強がはじまるので、それからっ ですー スンマセン
おつかれさまれす。
127 :
デフォルトの名無しさん:02/04/20 23:27
128 :
デフォルトの名無しさん:02/04/21 00:55
サーバ増強が待ち遠しいな
130 :
デフォルトの名無しさん:02/04/30 00:04
静岡人消えれ
↑ちょっと同意
132 :
デフォルトの名無しさん:02/05/14 13:28
ageてみる
133 :
デフォルトの名無しさん:02/06/01 21:44
漏れら極悪非道のageブラザーズ!
今日もネタもないのにageてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ age
(・∀・∩)(∩・∀・) age
(つ 丿 ( ⊂) age
( ヽノ ヽ/ ) age
し(_) (_)J
保守っとく
135 :
デフォルトの名無しさん:02/07/07 17:01
保守あげ?
夜勤め。
保守
138 :
デフォルトの名無しさん:02/08/14 11:59
保守
139 :
デフォルトの名無しさん:
最近dat→htmlの変換処理をしていないってのは本当かい?
●を買わせるためとはいえ、ちょっと酷いんじゃないかい?