儲存後端¶
要建立自訂儲存後端,您需要繼承 StorageBackend
類別。然後建立新類別的實例,並在您建立 WebSupport
物件時,將該實例作為 storage 關鍵字參數傳遞
support = WebSupport(srcdir=srcdir,
builddir=builddir,
storage=MyStorage())
有關建立自訂儲存後端的更多資訊,請參閱下方 StorageBackend
類別的文件。
Changed in version 1.6: StorageBackend 類別從 sphinx.websupport.storage 移動到 sphinxcontrib.websupport.storage。
方法¶
- StorageBackend.add_node(id, document, source)[source]¶
將節點新增至 StorageBackend。
- 參數:
id – 評論的唯一 ID。
document – 節點所屬的文件名稱。
source – 來源檔案名稱。
- StorageBackend.add_comment(text, displayed, username, time, proposal, node_id, parent_id, moderator)[source]¶
在新增評論時呼叫。
- 參數:
text – 評論的文字
displayed – 是否應顯示評論
username – 新增評論的使用者名稱
time – 包含評論新增時間的日期物件
proposal – 使用者提出的建議文字
node_id – 評論新增至的節點 ID
parent_id – 評論的父評論 ID。
moderator – 新增評論的使用者是否為版主
- StorageBackend.delete_comment(comment_id, username, moderator)[source]¶
刪除評論。
如果 moderator 為 False 且 username 與評論上的使用者名稱不符,則引發
UserNotAuthorizedError
。- 參數:
comment_id – 正在刪除的評論 ID。
username – 要求刪除的使用者名稱。
moderator – 使用者是否為版主。
- StorageBackend.get_data(node_id, username, moderator)[source]¶
呼叫以檢索節點的所有資料。這應傳回一個字典,其中包含兩個鍵:source 和 comments,如
WebSupport
的get_data()
方法所述。- 參數:
node_id – 要取得資料的節點 ID。
username – 要求資料的使用者名稱。
moderator – 請求者是否為版主。
- StorageBackend.process_vote(comment_id, username, value)[source]¶
處理正在投出的投票。value 將為 -1、0 或 1。
- 參數:
comment_id – 正在投票的評論 ID。
username – 投出投票的使用者名稱。
value – 正在投出的投票值。