Maxの日記: python 2.1 vs 2.0 1
日記 by
Max
よく考えると自作パッチをあてたmailman2.06+J1をMandrake 8.1上で動かしてみたことがまだなかった。
8.0で快調に動いていたので問題ないと思っていたのだが・・・・
- newlistコマンドでkconvがないとしかられる
- Subj.に[hogehoge:#]式のシーケンスナンバーを指定すると配送されない
などの地雷炸裂。
kconvの件は、複数のリビジョンのpythonがインストールされている(かのような)状態で頻発していたという話なのだが、確かに
/usr/lib/python2.0/
/usr/lib/python2.1/
の二つのディレクトリが存在していて、2.0の方にkconvが入っていた。
この中身をpython2.1に移動すると解消。やれやれ、と思ったら2つ目の問題が発生した。
File "/var/lib/mailman/Mailman/Handlers/HandlerAPI.py", line 85, in do_pipeline
func(mlist, msg, msgdata)
File "/var/lib/mailman/Mailman/Handlers/CookHeaders.py", line 63, in process
r'\\' + r'\g<1>\g<2>' + r'\\' + r'\g<3>' ,prefix_pattern)
File "/usr/lib/python2.1/sre.py", line 63, in sub
return _compile(pattern, 0).sub(repl, string, count)
File "/usr/lib/python2.1/sre.py", line 164, in _sub
return _subn(pattern, template, string, count)[0]
File "/usr/lib/python2.1/sre.py", line 171, in _subn
template = _compile_repl(template, pattern)
File "/usr/lib/python2.1/sre.py", line 149, in _compile_repl
p = sre_parse.parse_template(repl, pattern)
File "/usr/lib/python2.1/sre_parse.py", line 701, in parse_template
this = char(ESCAPES[this][1])
TypeError: object of type 'string' is not callable
正規表現ライブラリ?
前まではきっちり動いていたのだが、どうやらpython 2.1では挙動アヤシイように見える。
8.0で快調に動いていたので問題ないと思っていたのだが・・・・
- newlistコマンドでkconvがないとしかられる
- Subj.に[hogehoge:#]式のシーケンスナンバーを指定すると配送されない
などの地雷炸裂。
kconvの件は、複数のリビジョンのpythonがインストールされている(かのような)状態で頻発していたという話なのだが、確かに
/usr/lib/python2.0/
/usr/lib/python2.1/
の二つのディレクトリが存在していて、2.0の方にkconvが入っていた。
この中身をpython2.1に移動すると解消。やれやれ、と思ったら2つ目の問題が発生した。
File "/var/lib/mailman/Mailman/Handlers/HandlerAPI.py", line 85, in do_pipeline
func(mlist, msg, msgdata)
File "/var/lib/mailman/Mailman/Handlers/CookHeaders.py", line 63, in process
r'\\' + r'\g<1>\g<2>' + r'\\' + r'\g<3>' ,prefix_pattern)
File "/usr/lib/python2.1/sre.py", line 63, in sub
return _compile(pattern, 0).sub(repl, string, count)
File "/usr/lib/python2.1/sre.py", line 164, in _sub
return _subn(pattern, template, string, count)[0]
File "/usr/lib/python2.1/sre.py", line 171, in _subn
template = _compile_repl(template, pattern)
File "/usr/lib/python2.1/sre.py", line 149, in _compile_repl
p = sre_parse.parse_template(repl, pattern)
File "/usr/lib/python2.1/sre_parse.py", line 701, in parse_template
this = char(ESCAPES[this][1])
TypeError: object of type 'string' is not callable
正規表現ライブラリ?
前まではきっちり動いていたのだが、どうやらpython 2.1では挙動アヤシイように見える。
python 2.1 のsre_parseのバグでした。 (スコア:2)
上記のパッチ適用して解決。ほっ。
-- (ま)