*******************************************************
python-oops-datedir2amqp: Bridge a datedir repo to amqp
*******************************************************

    Copyright (c) 2011, Canonical Ltd

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    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 Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.


The oops_datedir2amqp package provides a script that will retransmit OOPS
reports (http://pypi.python.org/pypi/oops) stored in a datedir repo over amqp,
cleaning up the repo as it goes.

Dependencies
============

* Python 2.6+

* oops_datedir_repo

* oops_amqp

Testing Dependencies
====================

* rabbitfixture (http://pypi.python.org/pypi/rabbitfixture)

* subunit (http://pypi.python.org/pypi/python-subunit) (optional)

* testresources (http://pypi.python.org/pypi/testresources)

* testtools (http://pypi.python.org/pypi/testtools)

Usage
=====

Build the package using buildout (see under Development).

Run the script::

  $ bin/datedir2amqp --host XX --username XX --password XX --vhost XX \
    --exchange XX --repo XX

Note that the repo should be the same path you are supplying to your
DateDirRepo in whatever process is creating OOPSes.

A common use for this setup is as a fallback: in your application report to
AMQP directly, with a DateDirRepo configured as fallback, then use datedir2amqp
to pickup and respool any OOPS reports that were generated while your AMQP
server is unavailable.

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-datedir2amqp.  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_datedir2amqp.tests.test_suite.

For instance::

  $ bin/py -m testtools.run oops_datedir2amqp.tests.test_suite
