Org::Parser
If you're like me, over the years you'll have had your todo lists scattered over multiple programs and places. First a simple text file with homebrewn format, then various Windows programs, then various Linux GUI programs, then back to Notepad and joe/gedit/kate, then various apps on cellphones, then pencil & paper (due to cellphones keep getting lost/stolen), then some cloud apps, then todo.txt, then finally org-mode. And if you're anything like me or many others, you'll find that org-mode is *it*.
I'm now in the (long, boring) process of consolidating everything in Org. For todo lists, contact lists, and even long documents and all journals/diaries. I've written a preliminary version of Org::Parser to help automate stuffs via the command line. It only supports the basic stuffs at the moment but has been able to parse all my *.org files.
The code is available on GitHub.
Org format is pretty hairy. Have you considered using Emacs in batch mode to parse it, or using org-export to munge it into a more parser-friendly format?
Yep, I also took a look at Org-Ruby (which is geared more to export to Textile/HTML). I wrote Org::Parser yesterday for fun, since CPAN doesn't seem to have any modules pertaining to Org.
Currently I don't intend to support all of Org's features, as I don't use them anyway. The basic stuffs are pretty simple to parse.
Drop me a line, I am also working on an org-mode parser, but have yet to put it up on CPAN. Mine is more targetted at parsing the org-mode formatting into various outputs, like HTML.
TBH, I can't see how I could use this. For example,
looks almost exactly like(modulo blogs.perl formatting nonsense)
@educated_foo: dump-org-structure is actually just an example/debugging script. Sample output (using HEAD version):
There's also another sample script bin/remind-due-todos which will only look at TODO items which have a schedule timestamp.
Maybe I should put those two in examples/ instead of bin/.
For more general use, you might want to peruse Org::Parser directly.
What do you want to accomplish?