1 de octubre de 2012

Working on django-notification (django 1.4 support, internationalization, etc.).

What's this all about?

Working on a Django project, I happened to come across with the need of a notifications app for Django. The first one to take a look at and perhaps the most popular the last years is django-notification. So, let's take a look at it, my friend.

What was the problem?

Well, to begin with, it does not work with Django  1.4 or above. That's the starting point for me to branch out from the original repo of the project. I tuned it up to work with Django 1.4.

Later down the road, we decided to use internationalized dates. And then again, django-notification did not handle them properly (does not suppor internationalization at all). And therefore a zillion of our tests started to throw warning.

Once again, I had some time to spare, and got myself hands on that.


Which changes did I make to django-notification? Let's take a look:

  • Made it work with django 1.4
  • [this is a big one] Made django-notification timezone aware and compliant.
  • Made every single file PEP8 compliant
  • Fixed a bunch of issues I found while going through the codebase (like missing imports)
  • Quite a few code improvements (like the usage of "zip" or "file" as variable names)

Where's this code? How I install it for my project?

The code is available here, at my github account: https://github.com/matiasherranz/django-notification

You can install it with pip this way:

pip install  -e git+https://github.com/matiasherranz/django-notification.git#egg=django-notification

I'm open to suggestions, comments or pull requests to improve the app.

Hope it helps!