Generate an iCalendar (.ics) file based on a OrgMode (.org) file.
This package is especially useful if your OrgMode file is too large to be exported with OrgMode iCalendar Export.
Installation:
pip install -U org2ical
Usage:
import org2ical
# Ref: https://orgmode.org/manual/Timestamps.html
org_str = """
* Meet Peter at the movies
<2006-11-01 Wed 19:15>
* Discussion on climate change
<2006-11-02 Thu 20:00-22:00>
"""
ical_str, warnings = org2ical.loads(org_str)
assert warnings == []
print(ical_str)
Results:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//j3soon//org2ical//EN
BEGIN:VEVENT
DTSTAMP:20221114T153849Z
UID:2f8059beaf05751acc703c2a12eee7e8
DTSTART:20061101T191500Z
DTEND:20061101T191500Z
SUMMARY:Meet Peter at the movies
DESCRIPTION: <2006-11-01 Wed 19:15>\n\nOrg Path: Meet Peter at the movies
CATEGORIES:TIMESTAMP
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20221114T153849Z
UID:72b76db7dacae0489b50bb9c9b3b3c34
DTSTART:20061102T200000Z
DTEND:20061102T220000Z
SUMMARY:Discussion on climate change
DESCRIPTION: <2006-11-02 Thu 20:00-22:00>\n\nOrg Path: Discussion on climate change
CATEGORIES:TIMESTAMP
END:VEVENT
END:VCALENDAR
Please note that the DTSTAMP
here depends on your current time.
- Export a Org (.org) file to an iCal (.ics) file using org2ical.
- In Thunderbird, select
Events and Tasks > Import...
and follow the steps to import the iCal file. - (Optional) Set category colors:
DEADLINE : rgb(255, 128, 128) SCHEDULED: rgb(128, 192, 128) TIMESTAMP: rgb(128, 128, 255) CLOCK : rgb(255, 192, 128)
- (Optional) Fill events with category color by following this Stack Overflow answer.