HomePhabricator

Add a very basic ICS syntax parser

Description

Add a very basic ICS syntax parser

Summary:
Ref T10747. Extremely rough parser for ICS syntax, based on RFC5545 + RFC6868.

This doesn't understand any of the content in an ICS file or know anything about calendaring or events yet, it just applies all the weird linewrapping, escaping, typing and parsing rules.

I'll refine this to be less bad and eventually do useful things, but I got a basic test case running at least.

Test Plan:

  • Added unit test.
  • Ran unit test.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10747

Differential Revision: https://secure.phabricator.com/D16520

Details

Provenance
epriestleyAuthored on Sep 8 2016, 8:29 PM
epriestleyPushed on Sep 9 2016, 12:17 AM
Reviewer
chad
Differential Revision
D16520: Add a very basic ICS syntax parser
Parents
rPHUf983effe304c: When stopping subprocesses, send SIGTERM first, then SIGKILL if that doesn't…
Branches
Unknown
Tags
Unknown
Tasks
T10747: Import and export ICS from Calendar
Build Status
Buildable 13648
Build 17593: Run Core Tests

Event Timeline

That build failure is some kind of weird race related to the SIGTERM/SIGKILL stuff, not actually this change's fault. Looking at it.

I can't reproduce the failure; if that test keeps failing I'll just throw it away. There's basically no way it could break without everything in the world immediately breaking, and it's inherently race-prone if the box happens to be under a lot of load or whatever when it runs.