Armazenamento de Retaguarda

Para criar um backend de armazenamento personalizado é necessário criar uma subclasse de StorageBackend. Em seguida, crie uma instância da nova classe e passe o argumento nomeado storage ao criar o objeto WebSupport:

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

Para maiores informações sobre como criar retaguarda personalizada de armazenamento, ver abaixo a documentação da classe StorageBackend.

class sphinxcontrib.websupport.storage.StorageBackend[código fonte]

Define o interface para armazenamento de retaguarda.

Alterado na versão 1.6: Classe Armazenamento de Retaguarda foi movida para sphinxcontrib.websupport.storage em sphinx.websupport.storage.

Métodos

StorageBackend.pre_build()[código fonte]

Chamado imediatamente antes que o processo de build começa. Use para preparar Armazenamento de Retaguarda para adição de nodes.

StorageBackend.add_node(id, document, source)[código fonte]

Adicionar um node em Armazenamento de Retaguarda.

Parâmetros:
  • id – Id único para o comentário.

  • document – nome do documento ao qual o node pertence.

  • source – nome do arquivo fonte.

StorageBackend.post_build()[código fonte]

Chamado após build completo. Usar para finalizar a adição de nodes se necessário.

StorageBackend.add_comment(text, displayed, username, time, proposal, node_id, parent_id, moderator)[código fonte]

Chamado quando o comentário for adicionado.

Parâmetros:
  • text – texto do comentário

  • displayed – quando o comentário deve ser exibido

  • username – o nome do usuário que adiciona o comentário

  • time – data do objeto com o horário que o comentário foi adicionado

  • proposal – o texto proposto pelo usuário

  • node_id – id do node que no qual o comentário foi adicionado

  • parent_id – o id do comentário mediato.

  • moderator – quando o usuário comentando for um moderador

StorageBackend.delete_comment(comment_id, username, moderator)[código fonte]

Apagar comentário.

Ativa UserNotAuthorizedError se o moderador é False e username não combina com username do comentário.

Parâmetros:
  • comment_id – Id do comentário sendo apagado.

  • username – Username do usuário requisitando a remoção.

  • moderator – Quando o usuário é um moderador.

StorageBackend.get_data(node_id, username, moderator)[código fonte]

Chamado para recuperar todos dados de um node. Isso retorna um dicionário com duas chaves, source e comments como descrito na classe WebSupport’s método get_data().

Parâmetros:
  • node_id – Id do node para quem os dados foram obtidos

  • username – O nome do usuário requisitando dados.

  • moderator – Quando o requerente é um moderador.

StorageBackend.process_vote(comment_id, username, value)[código fonte]

Processar voto que está em execução. value pode ser -1, 0 ou 1.

Parâmetros:
  • comment_id – Id do comentário que está sendo votado.

  • username – Username do usuário do voto em tela.

  • value – Valor do voto em tela.

StorageBackend.update_username(old_username, new_username)[código fonte]

Se o usuário é autorizado a modificar seu nome de usuário esse método deve ser chamado, para evitar dados estagnados no sistema de armazenamento.

Parâmetros:
  • old_username – Username sendo modificado.

  • new_username – Qual username está sendo modificado.

StorageBackend.accept_comment(comment_id)[código fonte]

Ativado quando o moderador aceita um comentário. Após o método chamado o comentário é exibido para todos usuários.

Parâmetros:

comment_id – O id do comentário aceito.