存储后端¶
要创建自定义存储后端,您需要子类化 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)[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 – 正在投出的投票的值。