ExternalEditorが動かない(T-T)
ExternalEditorとPythonScriptの 組合せだけが動かない... 直してみました.
現象
- バージョン: ExternalEditor 0.9.2
- Zopeバージョン: 2.10.1, 2.8.6で確認
DTML methodやDTML Documentでは,
ExternalEditorが使えるのに,
Python Scriptでは使えない.
原因
ExternalEditorが,
Python Scriptの場合にだけ,
RESPONSEのContent-Typeに,
text/plainを設定してしまう.
ExternalEditorはオブジェクトのmanage_FTPgetを呼び出す.
ExternalEditorはmanage_FTPgetを呼び出す前に
Content-Typeを設定している.
しかし, PythonScriptではmanage_FTPget内で
Content-Typeを設定している.
ExternalEditorの設定を上書きしてしまう.
対策
ExternalEditor/ExternalEditor.pyの以下のコードを修正する.
187 try: 188 body = ob.manage_FTPget() 189 except TypeError: # some need the R/R pair! 190 body = ob.manage_FTPget(REQUEST, RESPONSE)
PythonScriptはtryの方を通るので,
manage_FTPgetの下にContent-Typeの設定を追加します.
187 try: 188 body = ob.manage_FTPget() 189 RESPONSE.setHeader('Content-Type', 'application/x-zope-edit' ) 190 except TypeError: # some need the R/R pair! 191 body = ob.manage_FTPget(REQUEST, RESPONSE)
この修正でとりあえずは動くようになります.
コメント
Comments powered by Disqus