Django app for serializing objects into Cocoa Property List XML
Project description
django-plist is a Django application that trivializes the serialization of Django model objects into the XML format used by Property List files on the Cocoa platform (iPhone/Mac OS X).
Installing
Please refer to INSTALL.markdown for installation instructions. Notice the last section on configuring Django and ensure that you have the correct settings in INSTALLED_APPS and TEMPLATE_LOADER.
Using
Usage instructions can be found in docs/overview.markdown which is also available online.
Changelog
0.6 - 2010-05-20
Do not serialize private model fields. Fixes bug introduced with multi database support in Django 1.2.
PropertyListSerializationFailedError now sends a meaningful message to Exception.__init__ to make stacktraces useful when debugging.
0.5 - 2010-01-19
Added as_plist keyword argument to render_array shortcut to control serialization of objects without altering Model classes, see updated documentation in docs/overview.markdown.
Tests: Added test suites for shortcut functions and generic views
Tests: Added Cocoa integration tests in cocoa_tests/. These require a functional GCC/Cocoa suite to run.
Bug: Dictionary keys are now properly escaped as #PCDATA
Bug: render_dictionary() rendered None as a string. None is now rendered as an empty dictionary.
Bug: datetime.datetime objects should not output fractions of seconds.
Bug: datetime.date objects should render with T00:00:00, Cocoa fails to read the property list otherwise.
Bug: datetime.time objects now render as string, Cocoa apps barf on the <date>HH:MM:SS</date> elements.
0.4 - 2009-10-29
Added missing files to Manifest.in which caused build errors when installing with setup.py
XML data is now properly escaped in <string>
0.3 - 2009-10-28
Raises an error when rendering fails, i.e. when the object is not a model, does not have a as_plist() method or is not a basic type.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.