At the first run, you will be shown a URL. Click it, and authorize michel. You're done!
The authorization token is stored in
is the only information stored.
Michel keeps it simple. It only has two commands:
michel.py pull [list name]
Print the named (or default if no name is given) task list on the standard output.
michel.py push <TODO.org> [list name]
Replace the named (or default if no name is given) task list with the contents of TODO.org
This script currently only supports a subset of the org-mode format. The following elements are mapped mapped between google-tasks and an org-mode file:
- Indented Tasks <-> Number of preceding asterisks
- Task Notes <-> Headline's body text
- Checked-off / crossed-out <-> Headline is marked as DONE
Here is how michel can be used. A crontask pulls every 15 minutes the default TODO list, and another one displays a notification during 10 seconds every hour (requires notify-send).
*/15 * * * * /path/to/michel.py pull > /tmp/TODO && mv /tmp/TODO ~/.TODO 0 * * * * DISPLAY=":0.0" notify-send -t 10000 TODO "$(cat ~/.TODO)"
After you modify your TODO list, don't forget to push it!
michel.py push .TODO
If this trick is not working, it is probably because the variable PATH does not contains /usr/local/bin in crontab. You might want to set it manually. See 'man 5 crontab'.
michel.py script runs under Linux (not tested on other platforms yet).
To run the script, you need to install the following dependencies:
- python-gflags (usually available in package repositories of major linux distributions)
- License: Public Domain
- Original author: Christophe-Marie Duquesne (blog post)
- Author of org-mode version: Mark Edgington (bitbucket site)
Patches are welcome, as long as they keep the source simple and short.