Skip to content

Conversation

@tbruckmaier
Copy link
Contributor

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

Since org 9.4, property drawers are allowed & belong to a "level 0
  headline". In orgparse, they should end up in OrgRootNode

- moved property methods from OrgNode to OrgBaseNode & added parsing in
  OrgRootNode
- removed obsolete todo, OrgRootNode correctly contains all lines before
  the first headline
- moved get_timestamps(), datelist(), rangelist() to OrgBaseNode (so
  they are available also in OrgRootNode) and added timestamp parsing to
  OrgRootNode
@karlicoss karlicoss merged commit 349a61f into karlicoss:master Oct 31, 2021
@karlicoss
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants