Taskwarrior v0.3.0 Taskwarrior View Source
Parses Taskwarrior data
Link to this section Summary
Functions
Parses Taskwarrior JSON data and returns a list of Taskwarrior.Task items
Link to this section Functions
Parses Taskwarrior JSON data and returns a list of Taskwarrior.Task items
This function makes assumption that the JSON that is provided originates from
Taskwarrior's data exporting command: task export
. This allows us to make
certain assumptions, such as the JSON being valid, and that dates (and other
details) are formatted in a specific way.
User Defined Attributes (UDA)
To read in UDAs, provide an opts
keyword list as the second parameter, with
the opts[:udas]
key populated with an "UDA list".
For UDAs of numeric
, string
, and duration
types, just provide the name
of the UDA in the form of an atom, matching the name of the UDA (e.g.
:foobar
). Note that duration
UDAs will not be parsed: the duration
string will simply be read and stored.
For UDAs with the date
type, provide these as keyword list tuples with the
second element being :date
(e.g. {:foobar, :date}
). This is necessary to
indicate that the date should be parsed into a native date struct (otherwise
it will simply be read as a string).
Examples
iex> Taskwarrior.from_json(json_data)
[%Taskwarrior.Task{...}, ...]
iex> Taskwarrior.from_json(json_data, udas: [:foobar, :baz])
[%Taskwarrior.Task{...}, ...]
iex> Taskwarrior.from_json(json_data, udas: [:foobar, :baz, quux: :date])
[%Taskwarrior.Task{...}, ...]