HOME | ドキュメント |  ブログ  |  BBS  |  瓦版  | 将棋プロジェクト |  物置小屋   

reStructuredText (3) 象歩ブログ L.L.Weekend
16 August 2004

docutilsのUnitTestを試す

reStructuredTextで落ちる理由
Zope  

reStructuredText で落ちるのは、 docutils に ja.py ファイルが無いためであることの再確認。

docutils-0.3.5.tar.gz をダウンロードして試してみました。 PYTHONPATH には zope のパスを指定します。

$ tar xvzf docutils-0.3.5.tar.gz
$ cd docutils-0.3.5/test
$ export PYTHONPATH="/usr/lib/zope/lib/python"
$ python test_language.py en
....
----------------------------------------------------------------------
Ran 4 tests in 0.056s

OK

このように language code に "en" を指定すればユニットテストは通りますが、"ja" を指定した場合エラーになります。


$ python test_language.py ja
FFFF
======================================================================
FAIL: test_language.py: ja.py; test_labels (__main__.LanguageTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_language.py", line 99, in test_labels
    self.fail('No docutils.languages.%s module.' % self.language)
  File "/usr/lib/python2.3/unittest.py", line 270, in fail
    raise self.failureException, msg
AssertionError: No docutils.languages.ja module.
.
.
.

"docutils-0.3.5/docs/howto/i18n.txt" を読んでみると、Locale の設定で "en" とか "fr" などの切替えはできるようですが、"ja" などの場合、モジュールが入ってないのでエラーになる (デフォルトに置き換えたりしない) ようです。 新しいモジュールが必要なら 「"en.py" をコピーして作れ」と云うことらしい。

と云うことで "ja" モジュールを二個作ります。

$ su
# cd /usr/lib/zope/lib/python/docutils/languages
# cp en.py ja.py
# cd ../parsers/rst/languages
# cp en.py ja.py

そうすれば、ユニットテストも通ります。

$ python test_language.py ja
....
----------------------------------------------------------------------
Ran 4 tests in 0.056s

OK
モジュールが無い場合デフォルトモジュール (en とか) を読み込んでくれてもよさそうですが、あえてエラーにしてあるのかも (そのほうがモジュールの提供がはかどる?) と、いけない想像をしてしまうのはソースも読まずにいけません;;

やはり "ja" モジュールを docutils本家 に提供しないと。

Comments
Re: docutilsのUnitTestを試す

docutils-0.4 には ja.py が含まれるようになってます。

Posted by: ふかまち at March 17,2006 22:41
Re: docutilsのUnitTestを試す

おひさしぶりです^^
Release4.0 確認しました。 この記事 は見た覚えがあるのですが、無事採用 されたのですね。
ありがたや。感謝こんなブログ書かれて居られる御方のようでした。爪の垢でも頂かないといけません。

Posted by: owa at March 19,2006 01:29
Trackbacks

【注意】TrackBack 送信なさる場合、 あなたの記事中に参照リンク (当ブログの URL 記述) が必要です。 トラックバックスパム防止のため、御了承ください。

There is no trackback.
Post a comment











一回プレビューして投稿内容の確認をしてください。その後に投稿可能になります。