ストレージバックエンド

カスタムのストレージバックエンドを作るには、 StorageBackend クラスのサブクラスを作ります。その後、新しいクラスのインスタンスを作成し、 WebSupport オブジェクトのを作る時に、 storage キーワード引数で渡します:

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

カスタムのストレージバックエンドを作る際のより詳しい情報は、これから説明する StorageBackend クラスのドキュメントを参照してください。

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

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

StorageBackendのメソッド

StorageBackend.pre_build()[ソース]

ビルドプロセスを開始する前の呼び出し。ノードの追加のために、StorageBackendの準備をします。

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

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

パラメータ:
  • id – コメントのユニークな識別子。
  • document – ノードが属しているドキュメントの名前。
  • source – ソースファイル名。
StorageBackend.post_build()[ソース]

ビルドが終了した時の呼び出し。必要に応じ、ノードの追加を完了させるために用います。

StorageBackend.add_comment(text, displayed, username, time, proposal, node_id, parent_id, moderator)[ソース]

コメントが追加された場合の呼び出し。

パラメータ:
  • text – コメントの文字列。
  • displayed – コメントを表示するかしないか。
  • username – コメントを作成しているユーザーのユーザー名。
  • time – コメントが追加された時刻のdateオブジェクト。
  • proposal – ユーザーが作成した提案のテキスト。
  • node_id – コメント対象となるノードのID。
  • parent_id – コメントの親のコメントのID。
  • moderator – コメントを追加しているユーザーがモデレーターかどうか。
StorageBackend.delete_comment(comment_id, username, moderator)[ソース]

コメントの削除。

Raises UserNotAuthorizedError モデレーターが失敗した場合、もしくは username がコメント上のusernameと一致しない場合に行います。

パラメータ:
  • comment_id – 削除する対象のコメントのID。
  • username – 削除をリクエストしているユーザーのユーザー名。
  • moderator – ユーザーがモデレーターかどうか。
StorageBackend.get_data(node_id, username, moderator)[ソース]

ノード用にデータを回復させる場合の呼び出し。sourcecomments という二つのキーを持つ辞書を返します。 これらのキーは以下によって説明されています。 WebSupport‘s get_data() method.

パラメータ:
  • 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)[ソース]

ユーザーがusernameを変更することを許可されていても、このメソッドは呼び出されませんので、ストレージシステム内にデータが停滞することはありません。

パラメータ:
  • old_username – 変更されるユーザー名。
  • new_username – 変更先のユーザー名。
StorageBackend.accept_comment(comment_id)[ソース]

モデレーターがコメントを受け付けた場合の呼び出し。このメソッドが呼ばれた後は、コマンドがユーザーには表示されなくなります。

パラメータ:comment_id – 受理される対象のコメントのID。