存储后端

要创建自定义存储后端,您需要将 StorageBackend 班级。然后创建新类的一个实例并将其作为 storage 关键字参数 WebSupport 对象::

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)[源代码]

删除注释。

加薪 UserNotAuthorizedError 如果主持人是假的 username 与评论上的用户名不匹配。

参数:
  • comment_id -- 要删除的注释的ID。

  • username -- 请求删除的用户的用户名。

  • moderator -- 用户是否是主持人。

StorageBackend.get_data(node_id, username, moderator)[源代码]

调用以检索节点的所有数据。这应该返回带有两个键的dict, 来源评论 如所描述的 WebSupportget_data() 方法。

参数:
  • 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。