the script allows to export your Task and Projects out of the Database used by the Appigo Mac Todo.App.
Currently it allows the export into an open text format - the org-mode format. I choose this conversion because I want to change my todo workflow towards an open format. It should be easy to adapt the script for transformation into other formats.
- read projects as toplevel todo, attach tasks as child TODO items
- read simpler task types and attach them to parent projoct or list
The simplest usage writes the text output on the standard output
./ appigo_todo_export.py <path/to/database>
The database of the app is located at: sqlite3 ~/Library/Containers/com.appigo.todomac/Data/Library/Application\ Support/Appigo\ Todo/AppigoTodo_v13.sqlitedb
Script is developed with python-3.8 and sqlite3 module.
- Work in progress
Gittiver – gulliver@traumkristalle.net
Distributed under the BSD 3-Clause license. See “LICENSE“ for more information.
[https://github.com/gittiver/appigo_todo_export](https://github.com/gittiver/appigo_todo_export)
- Fork it (https://github.com/yourname/yourproject/fork)
- Create your feature branch (`git checkout -b feature/fooBar`)
- Commit your changes (`git commit -am ‘Add some fooBar’`)
- Push to the branch (`git push origin feature/fooBar`)
- Create a new Pull Request
- decode taskdata for tasktype 2
select name,type,type_data,recurrence,advanced_recurrence from tasks where deleted=0 and completion_date=-62135769600.0 order by parent_id
Currently all items are converted to TODO items with other columns as properties
CREATE TABLE tasks(task_id TEXT PRIMARY KEY, list_id TEXT, name TEXT, due_date DOUBLE, completion_date DOUBLE, priority INTEGER, note TEXT, mod_date DOUBLE, deleted INTEGER, dirty INTEGER, sync_id TEXT, local_sync_id TEXT, start_date DOUBLE, parent_sync_id TEXT, recurrence INTEGER, advanced_recurrence TEXT, context_id TEXT, tags TEXT, flags INTEGER, type INTEGER, type_data TEXT, parent_id TEXT, sort_order INTEGER, ds_due_date DOUBLE, ds_priority INTEGER, ps_due_date DOUBLE, ps_priority INTEGER, child_count INTEGER, time_zone_offset INTEGER, alert_dirty INTEGER, starred INTEGER, location_alert TEXT, expansion_properties TEXT, assigned_user_id TEXT, project_due_date DOUBLE, project_time_zone_offset INTEGER, project_start_date DOUBLE, project_priority INTEGER, project_starred INTEGER, start_date_time_zone_offset INTEGER, project_start_date_time_zone_offset INTEGER);