orgparse - Emacs org-mode parser in Python
Project description
Install
pip install orgparse
Usage
There are pretty extensive doctests if you’re interested in some specific method. Otherwise here are some example snippets:
Load org node
from orgparse import load, loads load('PATH/TO/FILE.org') load(file_like_object) loads(''' * This is org-mode contents You can load org object from string. ** Second header ''')
Traverse org tree
>>> root = loads(''' ... * Heading 1 ... ** Heading 2 ... *** Heading 3 ... ''') >>> for node in root[1:]: # [1:] for skipping root itself ... print(node) * Heading 1 ** Heading 2 *** Heading 3 >>> h1 = root.children[0] >>> h2 = h1.children[0] >>> h3 = h2.children[0] >>> print(h1) * Heading 1 >>> print(h2) ** Heading 2 >>> print(h3) *** Heading 3 >>> print(h2.get_parent()) * Heading 1 >>> print(h3.get_parent(max_level=1)) * Heading 1
Accessing node attributes
>>> root = loads(''' ... * DONE Heading :TAG: ... CLOSED: [2012-02-26 Sun 21:15] SCHEDULED: <2012-02-26 Sun> ... CLOCK: [2012-02-26 Sun 21:10]--[2012-02-26 Sun 21:15] => 0:05 ... :PROPERTIES: ... :Effort: 1:00 ... :OtherProperty: some text ... :END: ... Body texts... ... ''') >>> node = root.children[0] >>> node.heading 'Heading' >>> node.scheduled OrgDateScheduled((2012, 2, 26)) >>> node.closed OrgDateClosed((2012, 2, 26, 21, 15, 0)) >>> node.clock [OrgDateClock((2012, 2, 26, 21, 10, 0), (2012, 2, 26, 21, 15, 0))] >>> bool(node.deadline) # it is not specified False >>> node.tags == set(['TAG']) True >>> node.get_property('Effort') 60 >>> node.get_property('UndefinedProperty') # returns None >>> node.get_property('OtherProperty') 'some text' >>> node.body ' Body texts...'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
orgparse-0.1.2.tar.gz
(25.5 kB
view details)
Built Distribution
orgparse-0.1.2-py3-none-any.whl
(26.6 kB
view details)
File details
Details for the file orgparse-0.1.2.tar.gz
.
File metadata
- Download URL: orgparse-0.1.2.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61573d0c919dce961ecd8c32c7494d38c15c6cd67d1179b2e209b05c8a1f255a |
|
MD5 | 915fce54c7583401eef178bf655e2b3d |
|
BLAKE2b-256 | 8c9b2c81fccbade59cf7b80e9245c0461233a435523823ca19d66a3a7710bd59 |
Provenance
File details
Details for the file orgparse-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: orgparse-0.1.2-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb51dde644f59bbe0a10d486b2f1468712c864ccd7d932253628757c08c9932a |
|
MD5 | cc5d142f1503844f1ea84b903396f977 |
|
BLAKE2b-256 | ef6592146f2fd7094d7c119d4dc3a909aa085f243e6265b142c18f74e7fddc45 |