The Django project driving dpaste.org
Find a file
2013-11-29 19:55:30 +01:00
dpaste Removed my private info. 2013-11-29 19:35:23 +01:00
server More precise url handling 2013-09-27 19:28:07 +00:00
.coverage.rc Omit settings from coverage. 2013-11-25 23:30:08 +01:00
.coveralls.yml Coveralls 2013-11-25 00:08:31 +01:00
.gitignore Fixed local setting ignore. 2013-11-25 22:51:52 +01:00
.travis.yml No need to test against old django and python3 variants. 2013-11-26 11:10:11 +01:00
manage.py Removed my private info. 2013-11-29 19:35:23 +01:00
README.rst Bumped up to version 2.0. Updated docs. 2013-11-29 19:55:30 +01:00
requirements.txt Bumped up to version 2.0. Updated docs. 2013-11-29 19:55:30 +01:00
runtests.py Fixed tox version 2013-11-26 12:29:34 +01:00
setup.py Bumped up to version 2.0. Updated docs. 2013-11-29 19:55:30 +01:00
tox.ini Store tox files in dropbox. 2013-11-26 11:09:24 +01:00

======
dpaste
======

.. image:: https://travis-ci.org/bartTC/dpaste.png?branch=master
    :target: https://travis-ci.org/bartTC/dpaste
.. image:: https://coveralls.io/repos/bartTC/dpaste/badge.png?branch=master
    :target: https://coveralls.io/r/bartTC/dpaste?branch=master

dpaste is a Django based pastebin. It's intended to run separately but its also
possible to be installed into an existing Django project like a regular app.

You can find a live example on http://dpaste.de/

-----------------------------
Testing and local development
-----------------------------

dpaste is continuously tested on _Travis. You can also run the test
suite locally with _tox::

    $ cd dpaste/
    $ pip install tox
    $ tox

A more manual approach is installing it all by hand in a virtual environment.
This is also the preferred way to setup an environment for local development::

    $ cd dpaste/
    $ pip install -e .
    $ pip install -r requirements.txt
    $ python runtests.py

_Travis: https://travis-ci.org/bartTC/dpaste
_tox: http://tox.readthedocs.org/en/latest/

-----------------------------------------
Integrate dpaste into an existing project
-----------------------------------------

Dpaste needs at least Django 1.4+ and is tested on Python 2.7 as well as
Python 3.3.

Install the latest dpaste release in your environment. This will install all
necessary dependencies of dpaste as well.

    pip install https://github.com/bartTC/dpaste

Add `dpaste` and (preferred) `south` to your `INSTALLED_APPS`::

    INSTALLED_APPS = (
        'django.contrib.sessions',
        'django.contrib.staticfiles',
        # ...

        'mptt',
        'dpaste',
        # 'south', (supported)
    )

Add ``dpaste`` and if you want the ``dpaste_api`` to your urlpatterns::

    urlpatterns = patterns('',
        # ...

        url(r'pastebin/', include('dpaste.urls.dpaste')),
        url(r'pastebin/api/', include('dpaste.urls.dpaste_api')),
    )

Finally just ``syncdb`` or if you use South, migrate::

    manage.py migrate dpaste

Do not forget to setup a cron job to purge expired snippets. You need to
run the management command ``cleanup_snippets``. A cron job I use looks like::

    30 * * * * /srv/dpaste.de/bin/python /srv/dpaste.de/bin/manage.py cleanup_snippets > /dev/null

Note also that dpaste does *not* come with Django admin integration. You need
to setup an register the models in an ``admin.py`` yourself.