|
|
VineseedにZope
VineSeedにZope入れようという話
>>315 そもそも__doc__ってなんの為にある? 1. pydoc 使って自動ドキュメントの為(これ以上はしらない) 2. Zope のオブジェクトは docstring を必要とする(仕様らしい↓)
http://www.zope.org/Documentation/Books/ZDG/current/ObjectPu*** * Publishable Object Requirements * Zope has few restrictions on publishable objects. The basic rule is that the object must have a doc string. This requirement goes for method objects too. と書いてあるのを見付けました。
>>323 テクニカルリファレンスより引用(P36) これは知らなかったので試してみました (ソース名はfunc.pyです) -------- def aaa(): """user func aaa"""
print aaa.__doc__ print aaa.func_doc -------- こういう書き方もできるんですね(クラスの中の関数でも書けました) でも今回の件とはちがうかなー '%s__doc__' % entry_name はちょと置いておきます
>>317 class objectWapper(Wapper,c): pass ここでどうして App/class_init.py まで飛んでいくのかまだ解かりません
>>321 これが解かってないのですが
テクニカルリファレンスより引用(P36) ユーザ定義関数(ここではf) f.__doc__ / f.func__doc ドキュメンテーション文字列 となってます。説明はありませんが、ユーザ定義関数ですので、 ************** 書き足しました:ユーザ定義関数とは、classの事なんですねぇ。間違ってました。 def __doc__(self): とか、def __getattr__(self):の事と思ってました御免なさい。 ************** ------------ # # f.py # class func(self): def __doc__(self): xxxx ------- とした場合 f.__doc__ は f.func__docとも書けると言う事でしょうか?
PS: # うーん、ちょっとオカシイですねぇ。 # こういう所を逃げないで、ちゃんとテストしないといけないのでしょう。
>>'sample__doc__' という属性を zope のどこかで設定しているってことなのでしょうか? 私も以前少し調べたのですが、 sampaleはLocalFSから呼ばれた場合file名のようですので、 ZPublisher/HTTPRequest.py
もしやっているなら、ココしかないと思いますが、、、 わかりませんでした。
>>320 pythonを基礎からやりなおそうと思ってます 私もその口です。Pythonはインタープリタなのでとても変なこと?できてしまうようです。 そこが魅力だとも思いますが、コンパイラ型言語になれきった身ではやっぱり辛いです。
>>320 テクニカルリファレンスにあるのですが '%s__doc__' % entry_name これが解かってないのですが、オブジェクト(entry_name)が sample だとして 'sample__doc__' という属性を zope のどこかで設定しているってことなのでしょうか? # これ自分で調べます- これ後付け
>> Debud&Editerがもっと良い物があれば デバッガは確かにきついですね。トレースしかできませんでした。 実行地点で、値や属性を調べようとしてもできませんでした。
>>317 pythonを基礎からやりなおそうと思ってます。 そもそも、他の言語を多少かじっている関係で、基礎を飛ばしてしまってます。
今回その事がよく解かりました。 Debug&Editerがもっと良い物があれば、もう少しがんばったと思うけど(言い訳ですね) >>doc = getattr(object, '%s__doc__' % entry_name, None)は理解不能 doc = getattr(object, '%s__doc' % entry_name, None)のような書き方なら、テクニカルリファレンスにあるのですが、、、
>>318 解からないことあったら教えてください。 Apacheは、hoihoi-pさんが詳しいですよー。
>>315 # テクニカルリファレンスには、ドキュメンテーション文字列とある 僕も最初そういうものだと思ってました。ドキュメントを自動生成してくれるものだと。 $ pydoc *.py と試しに打ち込んだのは内緒です
>>316 ミラーさせて頂きました なんか、くすぐったいですね^^ Apache 立てようと思ったんですが、配置の関係でハブを買わないといけなくなって、ちょっと遅れそうです。 解からないことあったら教えてください。うまくいったらノートも繋いで、Zope27臨時サーバ立てるつもりです。
>>315 そもそも__doc__ってなんの為にある? これ、今の自分が答えるのとても難しいです。今日はパス(涙
>> objectに__doc__が無いと内容がないと判断する、と言う事でしょうか? 少なくとも正規のものではないと判断していると思います。次の行 doc = getattr(object, '%s__doc__' % entry_name, None) は理解不能
>> 今回のclass objectWapper(Wapper,c): pass これが問題で、このクラス定義のところにやってくると lib/python/App/class_init.py の default_class_init__(self): メソッドまで飛びます それから戻ってくると python2.1 では __doc__ があり、2.2 では無いのです。 それで、強引に docstring コードを突っ込んだわけで、結果オーライとなったようです。 ちなみに、class_init.py でなんか特殊なことやってるようには見えませんでした。
objectWapper(Wrapper, c) でクラス定義が多重継承になっていますが、 Wrapper は LocalFS 内の通常のクラスで、c が extension class と表示されます。 というわけで拡張クラスを含む多重継承がどうなるのかを調べることになりました。
>>289 ミラーしてもらって一向にかまわないですよ
ご好意に甘えてミラーさせて頂きました。 左側の黄色部分「Vine+Zope(RPM)」→「owaZopeRPMで運用」に「ミラー」先あります。
|
|