ストレージバックエンド

カスタムストレージバックエンドを作成するには、StorageBackend クラスをサブクラス化する必要があります。次に、新しいクラスのインスタンスを作成し、WebSupport オブジェクトを作成する際に、storage キーワード引数として渡します。

support = WebSupport(srcdir=srcdir,
                     builddir=builddir,
                     storage=MyStorage())

カスタムストレージバックエンドの作成に関する詳細については、以下のStorageBackendクラスのドキュメントを参照してください。

class sphinxcontrib.websupport.storage.StorageBackend[ソース]

ストレージバックエンドのインターフェースを定義します。

バージョン 1.6 で変更: StorageBackend クラスが sphinx.websupport.storage から sphinxcontrib.websupport.storage に移動しました。

メソッド

StorageBackend.pre_build()[ソース]

ビルド処理が開始される直前に呼び出されます。ノードの追加のために StorageBackend を準備するために使用します。

StorageBackend.add_node(id, document, source)[ソース]

StorageBackend にノードを追加します。

パラメータ:
  • id – コメントの一意な ID。

  • document – ノードが属するドキュメントの名前。

  • source – ソースファイルの名前。

StorageBackend.post_build()[ソース]

ビルドが完了した後に呼び出されます。必要に応じてノードの追加を完了するために使用します。

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)[ソース]

ノードのすべてのデータを取得するために呼び出されます。これは、WebSupportget_data()メソッドで説明されているように、sourcecomments の2つのキーを持つ辞書を返す必要があります。

パラメータ:
  • node_id – データを取得するノードの ID。

  • username – データを要求しているユーザーの名前。

  • moderator – 要求者がモデレーターかどうか。

StorageBackend.process_vote(comment_id, username, value)[ソース]

投票が実行されている処理を行います。valueは、-1、0、または1のいずれかになります。

パラメータ:
  • comment_id – 投票されるコメントの ID。

  • username – 投票を実行しているユーザーのユーザー名。

  • value – 投票の値。

StorageBackend.update_username(old_username, new_username)[ソース]

ユーザーがユーザー名を変更できる場合、ストレージシステムに停滞したデータがないように、このメソッドを呼び出す必要があります。

パラメータ:
  • old_username – 変更されるユーザー名。

  • new_username – ユーザー名が変更される名前。

StorageBackend.accept_comment(comment_id)[ソース]

モデレーターがコメントを承認したときに呼び出されます。メソッドが呼び出された後、コメントはすべてのユーザーに表示される必要があります。

パラメータ:

comment_id – 承認されるコメントの ID。