Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Django app to enable exporting of events to iCalendar files. Imitates behavior of django.contrib.syndication and is based upon vobject
branch: master

This branch is 24 commits behind statesofpop:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
django_cal
example_project
.gitignore
AUTHORS.md
LICENSE
README.md
setup.py

README.md

django-cal

Django app to enable exporting of events to iCalendar files. Imitates behavior of django.contrib.syndication and is based upon vobject (http://vobject.skyhouseconsulting.com/).

Heavy inspiration came from Christian Joergensen (http://www.technobabble.dk/2008/mar/06/exposing-calendar-events-using-icalendar-django/) and Derek Willis (http://blog.thescoop.org/archives/2007/07/31/django-ical-and-vobject/).

Documentation

Please also see contrib.syndication documentation, django_cal imitates its behavior: http://docs.djangoproject.com/en/1.2/ref/contrib/syndication/.

And please also see vObject behavior regarding start and end of events. In short: Use Date objects for all-day events, DateTime for more granular control. Define either duration or end time, never both.

get_object(self, request, *args, **kwargs)
                Can be overriden to allow for more complex events,
                see syndication documentation.
                Optional, defaults to None.

The following parameters work analagous to how they're implemented in django.contrib.syndication. That means, the framework checks in the following order: self.$param(obj), self.$param(), self.$param; obj being the object returned by self.get_object.

items           Returns the list of events.
                Must be set.
filename        Filename of the file returned in the view.
                Optional, defaults to 'events.ics'.
cal_name        Name of the calendar.
                Optional, defaults to None.
cal_desc        Description of the calendar. 
                Optional, defaults to None.

item_summary    The "title" of the item.
                Optional, defaults to unicode representation of item.

item_end        Duration or end time of item.
item_duration   Optional, defaults to None. Must not define both.

item_url        Optional, default calls item.get_absolute_url()
                Should return a URL with the fully-qualified domain and
                protocol (e.g. 'http://www.example.com/blog/') or an
                absolute path (e.g. '/events/'). If only a path is
                present, the 'django.contrib.sites' app will be used
                to insert the domain of the current site.
                Note: To find the current site, 'django.contrib.sites'
                      must be in your settings.INSTALLED_APPS (it is
                      there by default)

item_uid        All correspond to their vEvent equivalents.
item_start      All optional, all default to None.
item_description
item_comment
item_location
item_last_modified
item_created

Dependencies

Something went wrong with that request. Please try again.