Achtung, Mozilla developers, a new library is heading your way!
While Mozilla’s web tools have been Open Source since the beginning, it’s become somewhat of a recent tradition for us Mozilla web devs to release web application components as reusable libraries (mostly in Python, and for the Django web framework).
Today I am introducing django-mozilla-product-details — quite a mouthful, but the name says it all: It’s a library providing up-to-date Mozilla product information to be consumed by Django projects. The data can be periodically pulled from the Mozilla SVN server using a Django management command.
From the documentation:
Mozilla Product Details is a library containing information about the latest versions, localizations, etc. of Mozilla products (most notably Firefox, Firefox for mobile, and Thunderbird).
The data source of Mozilla Product Details is a PHP library kept on the Mozilla SVN server, and was originally written so it could be included into PHP projects via an SVN external. A simple
svn upwould fetch the latest data when it became available.
In the meantime, the Product Details library received an additional JSON feed, allowing non-PHP projects to consume the data. If, however, the consumer is not kept in SVN like the library is, there is no easy way to keep the data up to date.
For Django projects, this app solves that problem.
To learn how to import and use the library, please read the detailed README file.
If you are looking into using the library in your project, or if you have any questions or concerns, please contact us or open an issue on github.
By the way: The geeks among you will be interested to know that we made an effort to go as easy as possible on the client as well as server bandwidth, even when the update task is frequently run. Over on my personal blog fredericiana, I wrote a blog post outlining the algorithm behind the library, and the rationale behind it.