ralphbean/taskw — pull request #50 by coddingtonbear (2014-04-02 03:26:36+00:00)
Title: Adds support for marshalling to and from Python-specific datatypes

Refactoring task instance handling to support marshalling to and from
python-specific (non-JSON) datatypes while retaining backward-compatible
behavior.

* Adds 'marshal' kwarg to TaskWarriorShellout which instructs library
to marshal TaskWarrior JSON into reasonable python datatypes.
Note: Returned object always implements dictionary interface, and when
when not using said kwarg, a standard dictionary (without automatic
marshalling behavior) will be returned.
* Adds a read-only version of TaskRC parser to provide easy access to
UDAs. (Adapted from Inthe.AM)
* Adds field classes and tests for said field classes. These allow
automatic marshalling data between Taskwarrior's
sometimes-inconsistent type handling and python datatypes.
* Adds task change journaling for tasks returned when using marshalling.
(This is not directly used in taskw, but will be useful for libraries
utilizing this library including bugwarrior).

Minor Bugfixes:

* Removes conversion of '\n' to ' ' in taskwarrior experimental
encoding. Taskwarrior is capable of storing newlines.