iCalendar-0.0.1: Parser for iCalendar format (RFC2445)

Safe HaskellSafe-Infered

Text.ICalendar.Parser

Contents

Description

Parser for the iCalendar format (version 2.0, RFC2445).

Features:

  • Unfolds folded lines (see RFC)
  • Supports all IANA iCalendar tokens

Warning! This is version 0.0, important things are missing

  • Property and parameter values are not parsed, but kept as in the file.
  • There are no restrictions on the properties components can have.
  • Line unfolding causes error messages to report the wrong line.

This package is meant to grow to a full-fledged data definition, printer and parser for the iCalendar format. But that will probably take some time. So, if you've come here because you need this, please e-mail me (Eelco Lempsink).

Synopsis

Tokens from RFC2445

data ComponentName Source

Calendar Component names (4.6)

Constructors

VEVENT

Event Component (4.6.1)

VTODO

To-do Component (4.6.2)

VJOURNAL

Journal Component (4.6.3)

VFREEBUSY

Free/Busy Component (4.6.4)

VTIMEZONE

Time Zone Component (4.6.5)

X_c String

Non-standard/Experimental Component Time Zone subcomponents

STANDARD

Standard Time Sub-component (4.6.5)

DAYLIGHT

Daylight Saving Time Sub-component (4.6.5) Event and To-do subcomponent

VALARM

Alarm Sub-component (4.6.6)

data PropertyName Source

Property names for Calendar Properties (4.7) and Component Properties (4.8)

Constructors

CALSCALE

Calendar Scale (4.7.1)

METHOD

Method (4.7.2)

PRODID

Product Identifier (4.7.3)

VERSION

Version (4.7.4)

ATTACH

Attachment (4.8.1.1)

CATEGORIES

Categories (4.8.1.2)

CLASS

Classification (4.8.1.3)

COMMENT

Comment (4.8.1.4)

DESCRIPTION

Description (4.8.1.5)

GEO

Geographic Position (4.8.1.6)

LOCATION

Location (4.8.1.7)

PERCENT_COMPLETE

Percent Complete (4.8.1.8)

PRIORITY

Priority (4.8.1.9)

RESOURCES

Resources (4.8.1.10)

STATUS

Status (4.8.1.11)

SUMMARY

Summary (4.8.1.12)

COMPLETED

Date/Time Completed (4.8.2.1)

DTEND

Date/Time End (4.8.2.2)

DUE

Date/Time Due (4.8.2.3)

DTSTART

Date/Time Start (4.8.2.4)

DURATION

Duration (4.8.2.5)

FREEBUSY

Free/Busy Time (4.8.2.6)

TRANSP

Time Transparency (4.8.2.7)

TZID

Time Zone Identifier (4.8.3.1)

TZNAME

Time Zone Name (4.8.3.2)

TZOFFSETFROM

Time Zone Offset From (4.8.3.3)

TZOFFSETTO

Time Zone Offset To (4.8.3.4)

TZURL

Time Zone URL (4.8.3.5)

ATTENDEE

Attendee (4.8.4.1)

CONTACT

Contact (4.8.4.2)

ORGANIZER

Organizer (4.8.4.3)

RECURRENCE_ID

Recurrence ID (4.8.4.4)

RELATED_TO

Related To (4.8.4.5)

URL

Uniform Resource Locator (4.8.4.6)

UID

Unique Identfier (4.8.4.7)

EXDATE

Exception Date/Times (4.8.5.1)

EXRULE

Exception Rule (4.8.5.2)

RDATE

Recurrence Date/Times (4.8.5.3)

RRULE

Recurrence Rule (4.8.5.4)

ACTION

Action (4.8.6.1)

REPEAT

Repeat Count (4.8.6.2)

TRIGGER

Trigger (4.8.6.3)

CREATED

Date/Time Created (4.8.7.1)

DTSTAMP

Date/Time Stamp (4.8.7.2)

LAST_MODIFIED

Last Modified (4.8.7.3)

SEQUENCE

Sequence Number (4.8.7.4)

X_ String

Non-standard Properties (4.8.8.1)

REQUEST_STATUS

Request Status (4.8.8.2)

data ParamName Source

Parameter names (4.2)

Constructors

ALTREP

Alternate Text Represenation (4.2.1)

CN

Common Name (4.2.2)

CUTYPE

Calendar User Type (4.2.3)

DELEGATED_FROM

Delegators (4.2.4)

DELEGATED_TO

Delegatees (4.2.5)

DIR

Directory Entry Reference (4.2.6)

ENCODING

Inline Encoding (4.2.7)

FMTYPE

Format Type (4.2.8)

FBTYPE

Free/Busy Time Type (4.2.9)

LANGUAGE

Language (4.2.10)

MEMBER

Group or List Membership (4.2.11)

PARTSTAT

Participation Status (4.2.12)

RANGE

Recurrence Identfier Range (4.2.13)

RELATED

Alarm Trigger Relationship (4.2.14)

RELTYPE

Relationship Type (4.2.15)

ROLE

Participation Role (4.2.16)

RSVP

RSVP Expectation (4.2.17)

SENT_BY

Sent By (4.2.18)

TZIDp

Time Zone Identifier (4.2.19)

VALUE

Value Data Types (4.2.20)

X_p String

Non-standard Parameter (4.2.21)

Data definitions

data ICalendar Source

iCalendar data

Constructors

ICalendar 

data Component Source

Component data

data Param Source

Parameter data

Constructors

Param 

Instances

Parser

parser :: ParsecT [Char] u Identity ICalendarSource

Parses a String to an ICalendar. Will unfold folded lines, so error messages might be off.