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

確認状況 Zope-2.6.1 with Python-2.2.2
 道標
象歩
象歩ブログ
ドキュメント
自転車整備ノート
C/C++
Linux 備忘録
パソコン整備ノート
不健康日記
不健康日記(2)
不健康日記(3)
Python パイソン
セキュリティ
Vine ヴァイン
Zope2 (ゾープ 2.x 系)
Zope 2.5
Zope 2.6
Zope-2.6.1 with ~
本体パッケー~
プロダクト動~
確認状況
LocalFSの障~
日本語版ZMIパッ~
RPMパッケージ
Zope26-2.6.1b1日~
Zope26用プロダク~
Zope2.6 インスト~
Zopeパッケージ
CMFとPlone
LocalFSJP
Zope 2.7
Zope 2.8
プロダクト
象歩BBS
Web瓦版
将棋プロジェクト
物置小屋
 リンク
Zope Zen
Zope Newbies
Zope Labs
Zope Wiki
Page Templateを使う
Page Templates の 高度な使い方
Zope Page Templates リファレンス
COREBlogを読む
Dublin Core: メタデータを記述するボキャブラリ

LocalFSの障害  [更新日: 2005年06月11日 ]

オリジナルのままでは、ローカルなファイルを get できない致命的な障害があります。 Zope オブジェクトはすべて docstring 属性値を持たないといけないのですが、 拡張クラス (ExtensionClass) は、多重継承に問題があるらしく、 docstring が得られない場合があります。 その結果 LocalFS のあつかうファイルが Zope オブジェクトとして認知されないことになります。

原因が Zope 拡張クラス側にあるのか、LocalFS のせいなのか判断できません。 作者に問い合わせたところ、Python 2.2 はオフィシャルサポートされていないので、 考えていなかったそうです。

python2.1.3 と 2.2.2 の両方で動作する パッチ 作ったので、RPM に入れました。

[更新履歴]
2003/03/23 Zope27-LocalFS-1.0.0-0vp2.i386.rpm — docstring が取得できない問題の修正
2003/02/20 Zope27-LocalFS-1.0.0-0vp1.i386.rpm — 新規作成

サンプル

LocalFS.py の問題のコードを簡単にすれば次のようになります。

#! /usr/bin/python2.1
import sys
sys.path.append('/usr/share/zope26/lib/python')
from ExtensionClass import Base

class MyClass(Base):
        """this is MyClass"""
        def __class_init__(self):
                """class intializer"""

class Wrapper:
        """this is Wrapper"""

def getWrapper():
        class ObjectWrapper(Wrapper, MyClass): pass
        return ObjectWrapper

if __name__ == '__main__':
        w = getWrapper()
        print 'docstring: ', w.__doc__

これを実行すると "docstring: this is Wrapper" と表示されるはずです。 しかし、python2.2.2 の環境では、"docstring: None" となります。 もちろん、先頭の 3 行は次のように変更してから実行して見てください。

#! /usr/bin/python2.2
import sys
sys.path.append('/usr/share/zope27/lib/python')