質問箱
解からないことがあったら聞いてください。多分僕も解からないので一緒に考えましょう(爆
このまま記事を入力し[投稿する]ボタンを押せば当サイトに送信されます。
以下の文章は注意書きです。
名前はかならず記入してください。ハンドルネームでも構いません。
またパスワードを入力することをお勧めします。
その場合他人による *なりすまし* と区別出来るかもしれません。
さらにブラウザでクッキーを有効に設定してある場合あなたの記事は後で修正可能になります。
コメントスパム防止のため記事の内容を機械的にモデレート
(スパムである確率を計算)
する処理を通します。
どのような投稿であれ、たまたま計算誤差によりスパムとみなされ
秘密の場所
に収納される可能性があります。
その場合、管理人が手作業で正規の場所に移動しますのでお待ちください。
-
48
owa
2003/08/05 22:30
id: mJs8kxp1Zus
prob: 0.0%
-
-
もう少し調べて見ました。
1. 書式(A)
context.manage_addDTMLDocument('foo', 'FOO', 'ThisIsFoo')
context.manage_addFolder('foo', 'FOO')
でドキュメントやらフォルダやら生成されます。
しかし、
context.manage_addZSQLMethod('foo', 'FOO', '接続id', '', 'sql文')
は AttributeError になります。
2. 書式(B)
context.manage_addProduct['ZSQLMethods'].manage_addZSQLMethod(...)
context.manage_addProduct['OFSP'].manage_addFolder(...)
は通ります。
この結果からの推測
------------------
書式(A)は古い書式であり、Product/OFSP 下にあるオブジェクトのみ可能
書式(B)は新しい書式であり、一般プロダクトではこの書式を使う。
OFSP 配下のプロダクト以外はグローバルに参照できないので、
contex.manage_addZSQLMethod(...) 等は AttributeError になる。
もちろんメソッドなので無理矢理呼び出すことはできる。
上記はあくまで推測なので、裏付けしようと思ったけど
http://zope.org/Documentation/Books/ZopeBook/2_6Edition/Appe...
しか探せなかった。英文なので、やっぱりソース読む方が早いかも。
-
47
kiyo
2003/08/05 00:13
id: M4qDt4tUHP2
prob: 0.0%
-
-
>>46
多分田原さんだから、どこかソースから見つけたのかと思ったのですが、
manage_addPythonScript も manage_addPruduct['PythonScripts'].manage_addPythonScript と書かなければダメでした。
owa さんでもソースから読み取れないって事は、
今の段階では、context.manage_addXXXX がダメなら、manage_addProduct... を試す。しかないのかなあ〜
>> addMethodORG は、CreateFolder/addMethod のコピーで、誤って削除した時の予備です。CreateFolder/addMethod が本体です。
今アップしたので、前の DbMove_02 はバグありました。先ほどお知らせした「ふうー」の後でインポートしたら良いですが、、、
家の BBS(PostgreSQL) -> Firebird へコピーしたらラクチンでした。
一回作って「CreateFolder」を全てコピーしたのでいつでも最新 Firebird 版が作れる環境ができました。ちなみに updateSQL も正常でした。
>>Zopeガイド・・・
Zope技術入門にも同じ説明がありました。が、も少し丁寧な説明本がでないかなあ。私用に(爆
Zope Bible まだ読み終わってないけど API はなかったような
-
46
owa
2003/08/04 23:02
id: mJs8kxp1Zus
prob: 0.0%
-
-
またボケを覚悟で、
memo の投稿は読みました
http://www.freeml.com/message/zope-memo@freeml.com/0000437
また DbMove_02.zexp インポートして見ました
1. 安田さんの Zopeガイド p285 見ると
manage_addZSQLMethod(id, title, connection_id, ...)
connection_id の引数は現在のフォルダか上位のフォルダのデータベース...
と説明がありますが、addMethodORG スクリプトはそう配置されていません。
でも多分 memo に投稿した時点ではそうなっていたのだと思います。
なぜ動作しなかったのかは不明
2. manage_addZSQLMethod メソッドの場所は
/usr/share/zope*/lib/python/Products/ZSQLMethods/SQL.py
def manage_addZSQLMethod(self, id, title,
connection_id, arguments, template, REQUEST=None, submit=None):
...
だと思います。確かに第一引数は self になっています。
context.manage_addZSQLMethod(id, ...)
でなぜうまくいかなかったかやっぱり不明
3. また安田さんの Zopeガイド p261 から
「ObjectManager にオブジェクトを作成するためには、次のように
manage_addProduct を使う。
self.manage_addProduct['OFSP'].manage_addFolder(id, title)」
田原さんの方法はこれの応用だと思うのですが...ここで今日は限界
-
45
red baron
2003/08/04 18:56
id: caMd/psUOOY
prob: 0.1%
-
-
遅レス申し訳ないです!
>ブート直後と手動で起動した場合の違いはありませんか?
確認しましたが、違いはありませんでした。
>それとも GUI で起動してる?
./startで起動しています。
結局再インストールしたら、問題が解決しました。
なんだったんだろう・・??
とりあえずありがとうございました。
私もこのBBSを参考にさせてもらいながら、
いっしょに考えることにします。
-
44
kiyo
2003/08/04 18:30
id: M4qDt4tUHP2
prob: 0.1%
-
-
manage_addZSQLMethod の使い方を質問した時田原さんに教えてもらった件ですが、
ZSQLMethods のソース見ても解らなかった。
どこを見たら manage_addProduct['ZSQLMethods'].manage_addZSQLMethod が解るのでしょう?
-
43
kom
2003/08/03 23:38
id: e.D1qOrGnXM
prob: 0.1%
-
-
みなさん、ありがとうございます。
LocalFSのプロパティのcatalogをONしてみました。
そしたら無事objectValues()使えました。
ソース見れば分かりますね。調べられることはできるだけ
調べてから質問しなければ。
-
42
owa
2003/08/03 22:27
id: mJs8kxp1Zus
prob: 0.4%
-
-
>>40 一行だけ書くといかにも、できる人
# 昔、かっこつけたつもりで、一行投稿したことあります;;
多分この場所では、ボード一覧のテーマに関する質問が多いと思います。
これらは元々、自分がこれからやりたいことなので、今は正解が見えて無い
ことばかりと言うことになります。
問題を解決する過程で、私が得をしようという魂胆が見え見えですね。
というわけで質問は大歓迎なわけです。自分勝手ですがよろしく m(.".)m
# 踊るアホウに見るアホウ、踊らにゃ損 (私はアホウです、ごめん)
-
41
owa
2003/08/03 21:42
id: mJs8kxp1Zus
prob: 7.0%
-
-
>>36 明日やってみます
まず objectValues() は LocalFS のプロパティで catalog をチェック
すればできるらしい。(試していません)
次に fileIds() 以外にも fileValues, fileItems などがあります。
たとえばオブジェクト情報を得るには
<dtml-in "Images.fileItems()">
<dtml-var id>)
<dtml-var get_size>
<dtml-var bobobase_modification_time>
</dtml-in>
などとします
そして、オブジェクトそのものを得るには
<dtml-in "Images.fileItems()">
<dtml-let ob=getObject>
<dtml-var id>, <dtml-var "ob.meta_type">
</dtml-let>
</dtml-in>
ネタ元はすべて LocalFS/LocalFS.py でした^^
-
40
kiyo
2003/08/03 09:42
id: M4qDt4tUHP2
prob: 7.8%
-
-
>>39 もっと簡単になりました。
すみません。このように、簡潔に書かないと解りにくい!!
自分に欠けてる所発見^^;;
>>objectValues() の代わりに fileIds() ってこと?
もし質問なら、そうです。
でも「fileIds()を使いましょう」と一行だけ書くといかにも、できる人の回答みたいで抵抗がありますです。
-
39
owa
2003/08/03 01:29
id: mJs8kxp1Zus
prob: 9.7%
-
-
>>38
もっと簡単になりました。
---
<dtml-in "Images.fileIds()">
<dtml-var sequence-item>
</dtml-in>
---
objectValues() の代わりに fileIds() ってこと?
|