.. meta::
  :navigation.name: Development

===========
Development
===========

As with all OpenSource projects, it is easy for you to help or advance
WebCleaner.

The easiest thing is probably sending me URLs of web pages that do
not work correctly through the WebCleaner proxy.

If you want to implement a feature you need for yourself, here are
some suggestions that might be helpful.

- You will need additional software packages to work with the
  `WebCleaner CVS`_ repository:
  
  - cvs client (evidently ;)
  - automake >= 1.8
  - libtool
  - python docutils >= 3.3
  
  Instructions to pull the CVS version are at the `WebCleaner CVS`_
  repository page.
  After checking out the CVS tree, run ``./autogen.sh`` to generate
  all the Makefiles.

- When generating patches, they should be against the latest released
  version or the CVS tree.

- Unified diffs are much more readable, for example you can use
  ``diff -BurN webcleaner webcleaner_patched > mypatch.diff``, or
  ``cvs diff -u`` if you work with the CVS version of WebCleaner.

- A consistent programming style helps others read and understand
  the code. For that Python has released a
  `Style Guide for Python Code`_.

.. _WebCleaner CVS:
   http://sourceforge.net/cvs/?group_id=7692

.. _Style Guide for Python Code:
   http://www.python.org/peps/pep-0008.html
