Skip to main content

orgparse - Emacs org-mode parser in Python

Project description

Links:

Install

You can install orgparse from PyPI:

pip install orgparse

Usage

Loading org object

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 to 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


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.1.dev2.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

orgparse-0.1.1.dev2-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file orgparse-0.1.1.dev2.tar.gz.

File metadata

  • Download URL: orgparse-0.1.1.dev2.tar.gz
  • Upload date:
  • Size: 23.8 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

Hashes for orgparse-0.1.1.dev2.tar.gz
Algorithm Hash digest
SHA256 1fdf0e1e07147975dca5d8fe66965fc2bf271801c68a0348278a86963e25daf6
MD5 82d068d4024cd275d97a15bf30ce065b
BLAKE2b-256 0d88d9597e1eafaa6febaa4f3d6b6c40cff00ac3cc33ed935f006554a9f8c311

See more details on using hashes here.

File details

Details for the file orgparse-0.1.1.dev2-py3-none-any.whl.

File metadata

  • Download URL: orgparse-0.1.1.dev2-py3-none-any.whl
  • Upload date:
  • Size: 24.7 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

Hashes for orgparse-0.1.1.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 0924e003c36f15e21e7871cef55c3a83b32ca7f851492ed3f28659dac81a4019
MD5 666d7c5a758bf49d28bbd79c9cc6cf66
BLAKE2b-256 eab5d7c53c4f61510f15a122137ccbdc4611bfd121cafc282d96fb3b19bf95fd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page