Python script to convert toodledo XML export to todoist project backup ("template") format
- tags
- notes, including multi-line notes
- tags
- nested tasks (see notes below)
- repeat dates (see notes below)
- due dates
- breaks projects up based on 120 task limit
- tasks without folders (will be in the 'NOFOLDER' output project)
- Export from toodledo as XML
- Install python and BeautifulSoup python module
- Run toodledo_to_todoist.py <xml_filename>
- Create a project in Todoist
- From the project screen, click the gear in the top right corner
- Import from template
- Select one of the files generated by the script to upload
python toodledo_to_todoist.py <xml_filename>
Toodledo has a bizarre concept where sub-tasks can be in different folders than their parent task, which Todoist does not have. In this export, sub-tasks will always be in the same folder as the parent, but will be tagged with @__import_folder_mismatch and a note will be attached telling the original folder they were in.
The single note from Todoist will be attached, if present. Multi-line notes are supported (separated by tabs in the Todoist format)
I made no attempt to convert the repetitions. Instead I add a note and tag the task with @__import_repeat
The script does not import completed tasks. I found this incredibly cumbersome. If you re-enable the import of completed tasks (by setting INCLUDE_COMPLETED = TRUE at the top of the file), all completed tasks will be tagged as @__import_completed
Todoist has an import limit of around 120 tasks. This script will split projects so that there are a maximum of 120 tasks per project. This limit can be changed by modifying the TODOIST_TASK_LIMIT variable at the top of the file.