Skip to main content

TurboGears2 pluggable application for events and calendars

Project description

About calendarevents

calendarevents is a Pluggable calendars and events application for TurboGears2. It permits to create events which are associated to entities defined inside the application which plugs it in.

Calendarevents provides support for multiple calendars and event types, by defining new event types it is possible to define how the event relates to external entities like a blog post that describes it.

When displaying events if available weather informations for the day and location of the event will be provided.

Installing

calendarevents can be installed both from pypi or from bitbucket:

easy_install calendarevents

should just work for most of the users

Plugging calendarevents

In your application config/app_cfg.py import plug:

from tgext.pluggable import plug

Then at the end of the file call plug with calendarevents:

plug(base_config, 'calendarevents', event_types=[...])

At least one event type must be defined inside the event_types argument. Defining event types is explained inside the Event Types section.

You will be able to access the calendars at http://localhost:8080/calendarevents.

Event Types

calendarevents needs the application to define at least one EventType to work.

Event types must be defined inheriting from the calendarevents.EventType class, for example to define an event for a concert which relates to a blog article that describes the concert itself:

class Concert(EventType):
    name = 'Concert'

    def get_linkable_entities(self, calendar):
        return [(a.uid, a.title) for a in model.DBSession.query(model.Article)]

    def get_linked_entity_info(self, event):
        return model.DBSession.query(model.Article).get(event.linked_entity_id).title

    def get_linked_entity_url(self, event):
        return tg.url('/blog/view/%s' % event.linked_entity_id)

plug(base_config, 'calendarevents', event_types=[Concert()])

Exposed Partials

calendarevents exposes a partial to render event boxes inside other pages:

  • calendarevents.partials:event(event) - Renders an event box

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tgapp-calendarevents-0.0.5.tar.gz (75.4 kB view details)

Uploaded Source

File details

Details for the file tgapp-calendarevents-0.0.5.tar.gz.

File metadata

File hashes

Hashes for tgapp-calendarevents-0.0.5.tar.gz
Algorithm Hash digest
SHA256 f5f7a3b4feaac9db99306b3acf0767126a9cc09d9036271cfe7d675a5570745b
MD5 aecd87e27edc68e9272a04a4201cb19b
BLAKE2b-256 6834e5f7c1c62195eda73bcb005af21af7ced5b6beed0b591f9e9d3c4da9af69

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page