oops_wsgi é um middleware OOPS WSGI.
Uso
oops_wsgi fornece integração com um oops.Config, permitindo que erros em seu aplicativo da Web para ser centralizadas, com tracebacks e outras informações de diagnóstico.
Normalmente, algo como isto:
& Nbsp; Setup sua configuração:
& Nbsp; >>> from oops importar a configuração do
& Nbsp; >>> config = Config ()
Note que você provavelmente vai querer pelo menos um editor, ou seus relatórios serão descartados.
& Nbsp; Adicionar em ganchos específicos wsgi ao config:
& Nbsp; >>> oops_wsgi.install_hooks (config)
Esta é uma função de conveniência - você está convidado a escolher e escolher a criação de filtros ou ganchos que você quer de oops_wsgi.hooks.
& Nbsp; Crie o seu app wsgi como normal, e, em seguida, envolvê-la:
& Nbsp; >>> app = oops_wsgi.make_app (app, config)
Se qualquer exceção borbulha através deste middleware, um oops será registrado. Se o corpo do pedido não tinha começado, em seguida, uma página personalizada é mostrado que mostra o id OOPS, ea exceção é ingerido. Exceções que indicam situações normais, como ponta-de-arquivo em um soquete não acionam OOPSes sejam. Se o OOPS é filtrada, ou não há editores estão configurados, em seguida, a exceção será propagar-se a pilha - o middleware oops não pode fazer nada de útil nestes casos. (Por exemplo, se você tem uma custom 404 middleware acima do middleware oops na pilha wsgi e filtrar 404 exceções para que eles não criar relatórios, em seguida, se o middleware oops fez outra coisa senão propagar a exceção, o seu custom 404 middleware não faria trabalho.
Se o corpo tinha começado, então não há nenhuma maneira de comunicar a id OOPS para o cliente e a exceção vai propagar-se a pilha app wsgi.
Você pode personalizar a página de erro se você fornecer um ajudante que aceita (Environ, relatório) e retorna HTML para ser enviado para o cliente.
& Nbsp; >>> def myerror_html (Environ, relatório):
& Nbsp; ... return '
OOPS! % S
'% relatório [' id ']& Nbsp; >>> app = oops_wsgi.make_app (app, configuração, error_render = myerror_html)
Ou você pode fornecer um modelo de cadeia a ser formatado com o relatório.
& Nbsp; >>> json_template = "{" oopsid ":"% (id) s "} '
& Nbsp; >>> app = oops_wsgi.make_app (app, configuração, error_template = json_template)
Para mais informações consulte pydoc oops_wsgi.
Instalação
Ou setup.py em um ambiente correr com todas as dependências disponíveis, ou adicionar o diretório de trabalho para o seu PYTHONPATH.
Desenvolvimento
Desenvolvimento Upstream ocorre em https://launchpad.net/python-oops-wsgi. Para configurar uma área de trabalho para o desenvolvimento, se as dependências não estão imediatamente disponíveis, você pode usar para criar ./bootstrap.py bin / buildout, então bin / py para obter um interpretador Python com as dependências disponíveis.
Para executar os testes utilizar o corredor de sua escolha, a suíte de testes é oops.tests.test_suite.
Por exemplo:
bin / py -m testtools.run oops_wsgi.tests.test_suite
Requisitos :
- Python
- OOPS
- Colar
Comentários não encontrado