karlicoss / orgparse

Python module for reading Emacs org-mode files
https://orgparse.readthedocs.org
BSD 2-Clause "Simplified" License
371 stars 43 forks source link

Support for level-0 properties & timestamps #42

Closed tbruckmaier closed 2 years ago

tbruckmaier commented 3 years ago

Hi, thanks for your work, I am using orgparse daily and it works great!

This pull requests adds support for property drawers & timestamps before the first headline. Since org 9.4, everything before the first headline is considered to belong to a "outline level 0" (https://orgmode.org/Changes.html#orgdd3d5c7), so I think it makes sense to attach them to our OrgRootNode.

I have basically just moved methods from OrgNode to OrgBaseNode, so they are available in OrgRootNode, and added the appropriate parsers in OrgRootNode.

There was a comment in the code, which said it was "a hack that the root node just reads the lines before the first headline". But I think that is the correct behaviour? I have removed it therefore for now

karlicoss commented 2 years ago

Thanks, looks good! Sorry it took me a while to get to it; I'll do a pypi release soon as well