/usr/share/pyshared/oops_twisted-0.0.6.egg-info is in python-oops-twisted 0.0.6-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | Metadata-Version: 1.1
Name: oops_twisted
Version: 0.0.6
Summary: Translate twisted error logs into OOPS error reports.
Home-page: https://launchpad.net/python-oops-twisted
Author: Launchpad Developers
Author-email: launchpad-dev@lists.launchpad.net
License: UNKNOWN
Description: **********************************************************
python-oops-twisted: Error report integration with twisted
**********************************************************
Copyright (c) 2011, Canonical Ltd
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, version 3 only.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
GNU Lesser General Public License version 3 (see the file LICENSE).
The oops_twisted package provides integration glue between logged twisted
errors (via the twisted.log api) and the oops error reporting system
(http://pypi.python.org/pypi/oops).
Dependencies
============
* Python 2.6+
* oops (http://pypi.python.org/pypi/oops)
* Twisted
Testing Dependencies
====================
* subunit (http://pypi.python.org/pypi/python-subunit) (optional)
* testtools (http://pypi.python.org/pypi/testtools)
Usage
=====
OOPS Configuration
++++++++++++++++++
* Setup your configuration::
>>> from oops_twisted import Config
>>> config = Config()
Note that you will probably want at least one publisher, or your reports will
be silently discarded.
* When adding publishers, either wrap 'normal' OOPS publishers in deferToThread
or similar, or use native Twisted publishers. For instance::
>>> from functools import partial
>>> config.publishers.append(partial(deferToThread, blocking_publisher))
A helper 'defer_publisher' is supplied to do this for your convenience.
Catching log.err calls
++++++++++++++++++++++
* create an OOPS log observer::
>>> from oops_twisted import OOPSObserver
>>> observer = OOPSObserver(config)
* And enable it::
>>> from twisted.log import addObserver
>>> addObserver(observer)
* This is typically used to supplement regular logging, e.g. you might
initialize normal logging to a file first::
>>> twisted.log.startLogging(logfile)
The OOPSObserver will discard all non-error log messages, and convert error log
messages into OOPSes using the oops config.
Optionally, you can provide OOPSObserver with a second observer to delegate
too. Any event that is not converted into an OOPS is passed through unaltered.
Events that are converted to OOPSes have a new event second to the second
observer which provides the OOPS id and the failure name and value::
>>> observer = OOPSObserver(config, twisted.log.PythonLoggingObserver().emit)
Extending WSGI
++++++++++++++
oops_twisted supports an extended WSGI contract where if the returned iterator
for the body implements t.w.i.IBodyProducer, then the iterator that
oops_twisted's WSGI wrapper returns will also implement IBodyProducer. This is
useful with a customised Twisted WSGI resource that runs IBodyProducer
iterators in the IO loop, rather than using up a threadpool thread. To use this
pass tracker=oops_twisted.wsgi.body_producer_tracker when calling
oops_wsgi.make_app. Note that a non-twisted OOPS Config is assumed because
the WSGI protocol is synchronous: be sure to provide the oops_wsgi make_app
with a non-twisted OOPS Config.
For more information see pydoc oops_twisted.
Installation
============
Either run setup.py in an environment with all the dependencies available, or
add the working directory to your PYTHONPATH.
Development
===========
Upstream development takes place at https://launchpad.net/python-oops-twisted.
To setup a working area for development, if the dependencies are not
immediately available, you can use ./bootstrap.py to create bin/buildout, then
bin/py to get a python interpreter with the dependencies available.
To run the tests use the runner of your choice, the test suite is
oops_twisted.tests.test_suite.
For instance::
$ bin/py -m testtools.run oops_twisted.tests.test_suite
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
|