Backends de armazenamento¶
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
UserNotAuthorizedErrorse 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étodoget_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.