存储后端¶
要创建自定义存储后端,您需要子类化 StorageBackend 类。然后创建新类的实例,并在创建 WebSupport 对象时将其作为 storage 关键字参数传递:
support = WebSupport(srcdir=srcdir,
builddir=builddir,
storage=MyStorage())
有关创建自定义存储后端的更多信息,请参见下方的 StorageBackend 类的文档。
在 1.6 版本发生变更: 存储后端类从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)[源代码]¶
删除评论。
如果moderator为False且 username 与评论上的用户名不匹配,则引发
UserNotAuthorizedError。- 参数:
comment_id -- 被删除评论的ID。
username -- 请求删除的用户的用户名。
moderator -- 用户是否为版主。
- StorageBackend.get_data(node_id, username, moderator)[源代码]¶
调用以检索节点的所有数据。它应返回一个包含两个键的字典,source 和 comments ,如
WebSupport的get_data()方法所述。- 参数:
node_id -- 要获取数据的节点的ID。
username -- 请求数据的用户的名称。
moderator -- 请求者是否为版主。
- StorageBackend.process_vote(comment_id, username, value)[源代码]¶
处理正在投出的投票。 value 将是 -1、0 或 1。
- 参数:
comment_id -- 被投票评论的ID。
username -- 投票用户的用户名。
value -- 投出的投票值。