title: Parsing files (ics/ icalendar) using Python
body: <p>I have a .ics file in the following format. What is the best way to parse it? I need to retrieve the Summary, Description, and Time for each of the entries.</p>
  
  <pre><code>BEGIN:VCALENDAR
  X-LOTUS-CHARSET:UTF-8
  VERSION:2.0
  PRODID:-//Lotus Development Corporation//NONSGML Notes 8.0//EN
  METHOD:PUBLISH
  BEGIN:VTIMEZONE
  TZID:India
  BEGIN:STANDARD
  DTSTART:19500101T020000
  TZOFFSETFROM:+0530
  TZOFFSETTO:+0530
  END:STANDARD
  END:VTIMEZONE
  BEGIN:VEVENT
  DTSTART;TZID="India":20100615T111500
  DTEND;TZID="India":20100615T121500
  TRANSP:OPAQUE
  DTSTAMP:20100713T071035Z
  CLASS:PUBLIC
  DESCRIPTION:Emails\nDarlene\n Murphy\nDr. Ferri\n
  
  UID:12D3901F0AD9E83E65257743001F2C9A-Lotus_Notes_Generated
  X-LOTUS-UPDATE-SEQ:1
  X-LOTUS-UPDATE-WISL:$S:1;$L:1;$B:1;$R:1;$E:1;$W:1;$O:1;$M:1
  X-LOTUS-NOTESVERSION:2
  X-LOTUS-APPTTYPE:0
  X-LOTUS-CHILD_UID:12D3901F0AD9E83E65257743001F2C9A
  END:VEVENT
  BEGIN:VEVENT
  DTSTART;TZID="India":20100628T130000
  DTEND;TZID="India":20100628T133000
  TRANSP:OPAQUE
  DTSTAMP:20100628T055408Z
  CLASS:PUBLIC
  DESCRIPTION:
  SUMMARY:smart energy management
  LOCATION:8778/92050462
  UID:07F96A3F1C9547366525775000203D96-Lotus_Notes_Generated
  X-LOTUS-UPDATE-SEQ:1
  X-LOTUS-UPDATE-WISL:$S:1;$L:1;$B:1;$R:1;$E:1;$W:1;$O:1;$M:1
  X-LOTUS-NOTESVERSION:2
  X-LOTUS-NOTICETYPE:A
  X-LOTUS-APPTTYPE:3
  X-LOTUS-CHILD_UID:07F96A3F1C9547366525775000203D96
  END:VEVENT
  BEGIN:VEVENT
  DTSTART;TZID="India":20100629T110000
  DTEND;TZID="India":20100629T120000
  TRANSP:OPAQUE
  DTSTAMP:20100713T071037Z
  CLASS:PUBLIC
  SUMMARY:meeting
  UID:6011DDDD659E49D765257751001D2B4B-Lotus_Notes_Generated
  X-LOTUS-UPDATE-SEQ:1
  X-LOTUS-UPDATE-WISL:$S:1;$L:1;$B:1;$R:1;$E:1;$W:1;$O:1;$M:1
  X-LOTUS-NOTESVERSION:2
  X-LOTUS-APPTTYPE:0
  X-LOTUS-CHILD_UID:6011DDDD659E49D765257751001D2B4B
  END:VEVENT
  </code></pre>