ストレージバックエンド¶
カスタムストレージバックエンドを作成するには、StorageBackend
クラスをサブクラス化する必要があります。次に、新しいクラスのインスタンスを作成し、WebSupport
オブジェクトを作成する際に、storage キーワード引数として渡します。
support = WebSupport(srcdir=srcdir,
builddir=builddir,
storage=MyStorage())
カスタムストレージバックエンドの作成に関する詳細については、以下のStorageBackend
クラスのドキュメントを参照してください。
バージョン 1.6 で変更: StorageBackend クラスが sphinx.websupport.storage から sphinxcontrib.websupport.storage に移動しました。
メソッド¶
- StorageBackend.add_node(id, document, source)[ソース]¶
StorageBackend にノードを追加します。
- パラメータ:
id – コメントの一意な ID。
document – ノードが属するドキュメントの名前。
source – ソースファイルの名前。
- StorageBackend.add_comment(text, displayed, username, time, proposal, node_id, parent_id, moderator)[ソース]¶
コメントが追加されるときに呼び出されます。
- パラメータ:
text – コメントのテキスト
displayed – コメントを表示するかどうか
username – コメントを追加しているユーザーの名前
time – コメントが追加された時刻を示す日付オブジェクト
proposal – ユーザーが作成した提案のテキスト
node_id – コメントが追加されているノードの ID
parent_id – コメントの親コメントの ID。
moderator – コメントを追加しているユーザーがモデレーターかどうか
- StorageBackend.delete_comment(comment_id, username, moderator)[ソース]¶
コメントを削除します。
モデレーターが False で、username がコメントのユーザー名と一致しない場合、
UserNotAuthorizedError
を発生させます。- パラメータ:
comment_id – 削除されるコメントの ID。
username – 削除を要求しているユーザーのユーザー名。
moderator – ユーザーがモデレーターかどうか。
- StorageBackend.get_data(node_id, username, moderator)[ソース]¶
ノードのすべてのデータを取得するために呼び出されます。これは、
WebSupport
のget_data()
メソッドで説明されているように、source と comments の2つのキーを持つ辞書を返す必要があります。- パラメータ:
node_id – データを取得するノードの ID。
username – データを要求しているユーザーの名前。
moderator – 要求者がモデレーターかどうか。
- StorageBackend.process_vote(comment_id, username, value)[ソース]¶
投票が実行されている処理を行います。valueは、-1、0、または1のいずれかになります。
- パラメータ:
comment_id – 投票されるコメントの ID。
username – 投票を実行しているユーザーのユーザー名。
value – 投票の値。