msherry / ical2org Goto Github PK
View Code? Open in Web Editor NEWA fork of http://orgmode.org/worg/code/awk/ical2org.awk with some improvements.
A fork of http://orgmode.org/worg/code/awk/ical2org.awk with some improvements.
Hi.
Thank you very much for providing this script, it has helped me out a lot.
I use it with an outlook365 calendar, and apart from the issue below I have not had any problems.
The following .ical entry is not parsed correctly to org-mode. I believe it is due to the event having been planned on one day and then moved afterwards, but I'm not sure.
If any one have an idea how this could be corrected I would greatly appreciate it.
-- .ical file --
BEGIN:VEVENT
UID:040000008200E00074C5B7101A82E00800000000006799AFA449D801000000000000000
01000000066A8A5B520902545A7C52534564AA34B
RECURRENCE-ID;TZID=Romance Standard Time:20230607T090000
SUMMARY:Vagtplanlægning
DTSTART;TZID=Romance Standard Time:20230531T093000
DTEND;TZID=Romance Standard Time:20230531T100000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20230531T075705Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:12
RECURRENCE-ID is original date
DTSTART and DTEND are correct dates after event have been moved.
-- .org file --
* Vagtplanlægning
:PROPERTIES:
:ID: 040000008200E00074C5B7101A82E00800000000006799AFA449D801000000000000000
:LOCATION: RH-Lokale-9301-biblioteket
:STATUS: CONFIRMED
:ATTENDING: ATTENDING
:ATTENDEES:
:END:
:LOGBOOK:
CLOCK: [2022-07-06 Wed 09:00]--[2022-07-06 Wed 09:30] => 0:00
:END
<2022-07-06 Wed 09:00-09:30 +1m>
Date-time stamps in this script are expected to be one of 2 kinds. The first is
a date stamp without any information of the (start/end) time. It follows the
format DT(START|END);VALUE=DATE:YYYYMMDD
. The second is to have have
information of the (start/end) time along with the timezone ID. It follows the
format DT(START|END);TZID=REGION/CITY:YYYYMMDDTHHMMSS
. However, there is one
more format that date-time stamps can take. It asserts that the date-time is
specified in UTC and is represented as
DT(START|END);VALUE=DATE-TIME:YYYYMMDDTHHMMSSZ
. Information of it can be found
on the documentations here.
I believe that this format should be added since it is an offical format
supported by ics files.
For example, my ics has this rule repeating an event on Monday, Wednesday, and Friday.
RRULE:FREQ=WEEKLY;UNTIL=20211204T075959Z;INTERVAL=1;BYDAY=MO,WE,FR
However, after converting, it only has one day left:
<2021-09-22 Wed 16:00-17:00 +1w>
It would be great if these repeating rules are supported. Thanks!
When the DESCRIPTION field of an ical has line breaks (not \n
escapes, but actual newline characters), this tool discards the rest of the description. To reproduce this, take any ical file with a description and insert a line break in the description.
Observation:
It appears as though all calendar entries are interpreted as being in my local timezone, even though that may not be the case.
Going by the documentation, it seems as though the script should do the right thing automagically seeing as the timestamps are given including timezones.
Expectation:
ical2org correctly adjusts for local time, or else documents its limits more clearly.
Additional info:
`
$ timedatectl
Local time: Di 2021-05-04 08:27:01 CEST
Universal time: Di 2021-05-04 06:27:01 UTC
RTC time: Di 2021-05-04 06:27:02
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
`
Example ICS entry:
The entry is given as 16:30 India time, which should be 13:00 my time, but it's not being converted
`
Discuss the work plan.
Discuss the key points regarding the design and development of the course.
(redacted)
** COMMENT original iCal entry
BEGIN:VEVENT
DTSTART;TZID=Asia/Kolkata:20210506T163000
DTEND;TZID=Asia/Kolkata:20210506T173000
ORGANIZER;
(redacted)
RECURRENCE-ID;TZID=Asia/Kolkata:20210506T163000
CREATED:20210311T135650Z
DESCRIPTION:Discuss the work plan. \nDiscuss the key points regarding the d
esign and development of the course. \n\nDieser Termin enthält einen Videoa
nruf.\nTeilnehmen: (redacted)
LAST-MODIFIED:20210430T161511Z
LOCATION:
SEQUENCE:1
STATUS:CONFIRMED
SUMMARY:(redacted summary)
TRANSP:OPAQUE
END:VEVENT
`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.