とりあえずの目標である、CHPログビューアの移植に向けての第一歩。
まずは1行分のログをparseして整形して返す関数を作ってみる。
- とりあえず文字コードのことは忘れるために全部asciiにしてしまえ。
- jsでレスポップアップとか入れるためにも、各要素にidだけは振っておく。とはいいながらもその辺の処理は後回しだ。pythonでの正規表現の使い方とかさっぱり分からんし(splitだけは使ったが)。
今日学んだこと。
- 関数は先に定義するもののようだ。
- 文字列の連結は"+"。
- int型の変数はいきなり連結は出来ないみたいだ。まぁ、いずれsprintfに相当するものが出てくるだろうから、コレについてはほっとく。
- 今日書いたコード。
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 2ちゃんねるログ形式の1行をparseして整形する。 ''' import re def parseRes( res, n ): ar = re.split( '<>', res ) num = str(n) ret = '<dt id=\'dt' + num + '\'>' + num + ': 名前:<span class="name">' if ar[1]: ret += '<a href="mailto:' + ar[1] + '">' ret += ar[0] if ar[1]: ret += '</a>' ret += '</span> ' + ar[2] ret += '</dt>\n<dd id=\'dd' + num + '\'>' ret += ar[3] + '</dd>\n' return ret print 'Content-Type: text/html;charset;utf-8' print res1 = 'name<>sage<>05/03/19 11:07:30 ID:???<> body1 <>thread title' res2 = 'no name<>sage<>05/03/19 11:15:37 ID:???<> <a href="../test/read.cgi/board/0000000000/1"' res2 += ' target="_blank">>>1</a> <br> body 2 <>' print parseRes( res1, 1 ) print parseRes( res2, 2 )
実行結果がかつてはリンクされていました。
次はテキストファイルを読み込む辺り。の前にShift_JIS問題を何とかしよう。後ではまるかもしれないし。