The latest patch version of each Django minor version is used.
The build now installs existing pymongo versions.
The build now actually tests against the specified Django version.
Replaced PIL with Pillow.
Added PyPy and Python 3.4 to the build.
Rebase Log:
Installing Pillow instead of PIL for testing since it's recommended and it supports PyPy.
Excluding Django versions that do not work with Python 3.
Improved formatting of .travis.yml.
Specifying Pillow 2.0.0 and above since it's the first version that is supported in Python 3.
PIL should not be installed alongside Pillow.
Also, I installed some libraries that both PIL and Pillow depend on.
It seems I have to be explicit on all envvars in order to exclude Django 1.4 from the build matrix.
The build is now installing pymongo versions that actually exist.
openjpeg has a different name on Ubuntu 12.04.
Restoring libz hack.
Also installing all Pillow requirements just in case.
Fixed the build matrix.
Acting according to @BanzaiMan's advice in travis-ci/travis-ci/#1492.
This allows an index spec to reference arbitrary keys of a DictField:
class MyDoc(Document):
frobs = DictField()
meta = {
"indexes": ["frobs.fmep", "frobs.gorp"],
}
Using a cursos in an if statement:
cursor = Collection.objects
if cursor:
(...)
Will open all documents, because there are not an __nonzero__ method.
This change check only one document (if present) and returns True or False.
In the latest released version of dateutil, there's a bug whereby a TypeError
can be raised whilst parsing a date. This is because it calls a method which
it expects to return 2 arguments, however it can return 1 depending upon the
input, which results in a TypeError: ArgType not iterable exception. Since
this is equivalent to a failed parse anyway, we can treat it the same as a
ValueError.
Migrate changes to include updating single elements of ListFields as
well as MapFields by adding the same changes to BaseList. This is
done by ensuring all BaseDicts and BaseLists have the correct name
from the base of the nearest (Embedded)Document, then marking changes
with their key or index when they are changed.
Tests also all fixed up.