Becoming a Py@Cron hacker
What to do (in general)
We will always accept bug and portability fixes. If you are
interested in doing something more major, please write
pyatcron-devel-list@nongnu.org first.
This is so we know what people are
doing and can offer advice. Also see the TODO file for ideas on the
direction we want to take Py@Cron. We _strongly_ recommend, if you are
contributing a feature, that you fully implement and test the feature
in your own program before submitting a patch. This ensures that the
feature is tested the interface is reasonably mature.
Translation effort
We are currently supporting only english, as we do not have
spent much time on the translation aspect. If you are
interested in helping us on that subject, please get
in touch with us via the development list (see below
for informations).
How to make code contributions
We only accept code contributions in the form of a unified diff
against the latest released version and, preferably, the version in
CVS. I you have made changes to the API of one or many
Py@Cron classes,
you _must_ provide complete documentation of your changes.
To make a unified diff, please follow these instructions:
-
Rename your development source tree:
mv pyatcron-0.1.4 pyatcron-0.1.4-snazzy-feature
-
Unpack the original gnet library source alongside it:
tar zxf pyatcron-0.1.4.tar.gz
-
Generate the diffs:
diff -urNb pyatcron-0.1.4 pyatcron-0.1.4-snazzy-feature >/tmp/pyatcron.patch
- Check the patch and remove any unnecessary patches from the file.
- If you've added several features, it's best to send them as several independent patches if you can.
- List your changes in the src/CHANGES files, in order to quickly know what you've done.
- Don't forget to add your name and email address to AUTHORS so that you assert copyright over Py@Cron and help to keep Py@Cron free!
If you have just patched one or two files, then making patches is even
easier. For each file, just do:
cp file.py file.py.orig
[Make changes to file.py ...]
diff -u file.py.orig file.py > /tmp/file.py.patch
and just send us the patch: /tmp/file.py.patch.
[Make changes to file.py ...]
diff -u file.py.orig file.py > /tmp/file.py.patch
Coding new type of task: the Py@cron plugin mechanism
As the API is still not frozen, we are not able to write any
HOWTO on coding new Py@cron task
type plugins. Stay tuned, we are moving fast ;-)