-
Notifications
You must be signed in to change notification settings - Fork 0
python patched iCalendar package
License
ryba-xek/iCalendar
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
============================ iCalendar package for Python ============================ The iCalendar package is a parser/generator of iCalendar files for use with Python. It follows the `RFC 2445 (iCalendar) specification`_. .. _`RFC 2445 (iCalendar) specification`: http://www.ietf.org/rfc/rfc2445.txt Introduction ============ I (Max M) have often needed to parse and generate iCalendar files. Finally I got tired of writing ad-hoc tools. So this is my attempt at making an iCalendar package for Python. The inspiration has come from the email package in the standard lib, which I think is pretty simple, yet efficient and powerful. The package can both generate and parse iCalendar files, and can easily be used as is. The aim is to make a package that is fully compliant to RFC 2445, well designed, simple to use and well documented. News ==== * 2008-07-11: `iCalendar 2.0`_ released (`changes for 2.0`_) * 2006-11-26: `iCalendar 1.2`_ released (`changes for 1.2`_) * 2006-11-23: `iCalendar 1.1`_ released (`changes for 1.1`_) * 2006-08-03: `iCalendar 1.0`_ released (`changes for 1.0`_) * 2005-11-08: `iCalendar 0.11`_ released (`changes for 0.11`_) * 2005-04-28: `iCalendar 0.10`_ released (`changes for 0.10`_) .. _`iCalendar 2.0`: iCalendar-2.0.tgz .. _`changes for 2.0`: changes-2.0.html .. _`iCalendar 1.2`: iCalendar-1.2.tgz .. _`changes for 1.2`: changes-1.2.html .. _`iCalendar 1.1`: iCalendar-1.1.tgz .. _`changes for 1.1`: changes-1.1.html .. _`iCalendar 1.0`: iCalendar-1.0.tgz .. _`changes for 1.0`: changes-1.0.html .. _`iCalendar 0.11`: iCalendar-0.11.tgz .. _`changes for 0.11`: changes-0.11.html .. _`iCalendar 0.10`: iCalendar-0.10.tgz .. _`changes for 0.10`: changes-0.10.html Example ======= To open and parse a file:: >>> from icalendar import Calendar, Event >>> cal = Calendar.from_string(open('test.ics','rb').read()) >>> cal VCALENDAR({'VERSION': vText(u'2.0'), 'METHOD': vText(u'Request'), 'PRODID': vText(u'-//My product//mxm.dk/')}) >>> for component in cal.walk(): ... component.name 'VCALENDAR' 'VEVENT' 'VEVENT' To create a calendar and write it to disk:: >>> cal = Calendar() >>> from datetime import datetime >>> from icalendar import UTC # timezone >>> cal.add('prodid', '-//My calendar product//mxm.dk//') >>> cal.add('version', '2.0') >>> event = Event() >>> event.add('summary', 'Python meeting about calendaring') >>> event.add('dtstart', datetime(2005,4,4,8,0,0,tzinfo=UTC)) >>> event.add('dtend', datetime(2005,4,4,10,0,0,tzinfo=UTC)) >>> event.add('dtstamp', datetime(2005,4,4,0,10,0,tzinfo=UTC)) >>> event['uid'] = '20050115T101010/27346262376@mxm.dk' >>> event.add('priority', 5) >>> cal.add_component(event) >>> f = open('example.ics', 'wb') >>> f.write(cal.as_string()) >>> f.close() More documentation ================== Consult this example_ for introductory doctests and explanations. Here are two smaller_ examples_. .. _example: example.html .. _smaller: small.html .. _examples: groupscheduled.html .. _multiple: multiple.html All modules and classes also have doctests that shows how they work. There is also an `interfaces.py`_ file which describes the API. .. _`interfaces.py`: interfaces.py Mailing list ============ If you have any comments or feedback on the module, please use the iCalendar mailing list. You can subscribe to it here: http://codespeak.net/mailman/listinfo/icalendar-dev We would love to hear use cases, or get ideas for improvements. There is also a checkins mailing list, if you want to follow development: http://codespeak.net/mailman/listinfo/icalendar-checkins Download ======== * `iCalendar 2.0`_ (2008-07-11) * `iCalendar 1.2`_ (2006-11-26) * `iCalendar 1.1`_ (2006-11-23) * `iCalendar 1.0`_ (2006-08-03) * `iCalendar 0.11`_ (2005-08-11) * `iCalendar 0.10`_ (2005-04-28) You can also check out the `development version of iCalendar`_ from subversion, using a command like:: svn co http://codespeak.net/svn/iCalendar/trunk iCalendar .. _`development version of iCalendar`: http://codespeak.net/svn/iCalendar/trunk Dependencies ============ It is dependent on the datetime package, so it requires Python >= 2.3. There are no other dependencies. License ======= LGPL. See LICENSE.txt for details.
About
python patched iCalendar package
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published