Chris, thanks for the pointer to org-toodledo. Does org-toodledo's handle all the options and formats of possible TODOs supported by org mode? Are you yet to implement support for anything that is parsed by the Emacs org-mode? On Fri, Jun 22, 2012 at 5:33 PM, Christopher J. White < orgmode@grierwhite.com> wrote: > Hi Karra, > > I've been working on org-toodledo.el to perform bi-directional sync of > TODO items with the Toodledo server, and faced many of the same issues you > raise about figuring out the exact format and grammar of a TODO item. > > You may find looking at my source useful, either as inspiration, > integration, or just understanding what fields are what. > > The general approach was to build an object that represents a parsed TODO > item, and fill that in from either the org-buffer TODO items, or from items > retrieved from the server. That object can then be compared to others (one > from the server and one from the local buffer), converted to a new org > TODO, sent to the server as a new TODO, etc. The components of the TODO > item are obviously targeted to what makes sense for Toodledo, but I think > they are fairly generic. > > You might also look at org-element.el which I recently learned about which > may also help. I have it on my TODO list to learn more about it to see if > I can't refactor org-toodledo to leverage it. It is more geared toward > generic org items as opposed to specifically TODO items. > > ...cj > > > On 6/22/12 2:40 AM, Sriram Karra wrote: > >> I am the author of ASynK (http://karra-asynk.appspot.**com), >> a PIM sync >> tool and framework written in python that works across a variety of PIM >> providers such as Outlook, Google and BBDB. I am considering extending >> ASynK to do a bi-directional sync of Outlook tasks to Org Mode tasks. To >> be able to do this I need a working read/write API for reading and >> creating TODOs in org mode. >> >> *"Offline parsers"* >> >> >> My first preference is to be able to parser org files without required >> Emacs - this is the approach that I have implemented for BBDB sync. I >> considered PyOrgMode (https://github.com/bjonnh/**PyOrgMode/network), >> but >> it appears unable to process TODOs, or even recurring events. To be able >> to extend PyOrgMode so I can read and write TODOs, I needed a full >> description of the format of TODO entries in all its forms. The Org >> manual itself has this information, I'm sure but scattered all over the >> place, given its real audience. Can someone point me to some sort of a >> concise representation, if any, of the org file format grammar? >> >> *org-protocol* >> * >> >> * >> By quickly reading the documentation I figured that org-protocol can be >> used to create entries, but is there a way to use it to do generic >> queries like "list all TODOs in a specified file, with a particular >> property value" and such? >> >> Any help is much appreciated. >> >> -Karra >> > > >