Added a new method: OrgDataStructure.load_from_string(string)
Similar to load_from_file except accepts a string as input. The string should be the contents of an org-mode file (complete with '\n') that is then passed to load_from_file and treated normally. This allows org-mode information to be saved in a database or other non-file storage.
OrgNode, split TODO states into OrgNode.todo_states and OrgNode.done_states,
and added method OrgDataStructure.extract_todo_list.
Repeating timestamps can now be stored with the "+4w" string saved as
The new class OrgTodo holds individual todo items, useful for making todo lists
TODO states are now output properly in OrgNode._output().
There are now two lists of todo states: todo_states and done_states. A new method
was added to OrgDataStructure (add_todo_state) that allows for adding to the latter
New method OrgDataStructure.extract_todo_list returns a list of OrgTodo states.
By default it returns states listed in OrgNode.todo_states but this can be modified
by arguments. It will raise an exception if a todo state is passed that is not on
either list since these will not be extracted properly during OrgDataStructure.load_from_file().