Taskwarrior v0.4.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

Link to this function

from_json(json_data, opts \\ [])

View Source

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{...}, ...]