一般的な「ステータス」クエリはありませんが、GETリクエストを使用して既存のノートブックのJSONサマリーを表示できます。
http://127.0.0.1:8888/notebooks
これにより、フォームのdictのリストが表示されます。
[
{
"kernel_id": null,
"name": "Animations Using clear_output",
"notebook_id": "49222a70-b746-4fb2-9b96-fe1a61e82979"
},
{
"kernel_id": "2e8de018-c816-4222-82d2-4a35cfa95f1c",
"name": "Cell Magics",
"notebook_id": "38ce96ab-b456-4af1-b68d-44a1a3ce86ee"
}
]
ここkernel_id=null
で、はノートブックが実行されていないことを意味し、実行されていることをkernel_id=U-U-I-D
意味します。
最も重要なのは、保存されていない変更で開いているノートブックがあるかどうかです。
この情報はブラウザにのみ存在するため、保存されていない変更を知ることはできません。サーバーはドキュメントが編集されたことさえ知らないため、クエリを実行する必要はありません。
私がやりたいもう1つのことは、ノートブックサーバーを制御することです。たとえば、シャットダウンする前に、保存されていない変更を保存するように指示します。
ライブドキュメントは実際にはサーバーに存在しないため、これは不可能です。編集されたドキュメントは、ノートブックを編集しているブラウザウィンドウのブラウザ側にのみ存在します。
保存されていない変更やトリガーの保存を確認する場合は、WebViewsのjavascriptを操作してこれを行う必要があります。jsのノートブックオブジェクトには、保存されていない変更があることを示す「ダーティ」フラグがあります。したがって、「保存されていない変更を保存する」は次のようになります。
if (IPython.notebook.dirty) { IPython.notebook.save_notebook(); }
IPython1.0.devでテスト済み