X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/ed6b9876b7abff0b2dc6266d6f769c319f358a9c..71d4f577f2a408636f94af5c26c62f95d017bb8a:/philo/contrib/julian/models.py?ds=sidebyside diff --git a/philo/contrib/julian/models.py b/philo/contrib/julian/models.py index 5c49c7e..df49da5 100644 --- a/philo/contrib/julian/models.py +++ b/philo/contrib/julian/models.py @@ -1,3 +1,6 @@ +import calendar +import datetime + from django.conf import settings from django.conf.urls.defaults import url, patterns, include from django.contrib.auth.models import User @@ -10,19 +13,21 @@ from django.db import models from django.db.models.query import QuerySet from django.http import HttpResponse, Http404 from django.utils.encoding import force_unicode +from taggit.managers import TaggableManager + from philo.contrib.julian.feedgenerator import ICalendarFeed -from philo.contrib.penfield.models import FeedView, FEEDS +from philo.contrib.winer.models import FeedView +from philo.contrib.winer.feeds import registry from philo.exceptions import ViewCanNotProvideSubpath -from philo.models import Tag, Entity, Page, TemplateField +from philo.models import Tag, Entity, Page +from philo.models.fields import TemplateField from philo.utils import ContentTypeRegistryLimiter -import datetime, calendar __all__ = ('register_location_model', 'unregister_location_model', 'Location', 'TimedModel', 'Event', 'Calendar', 'CalendarView',) -ICALENDAR = ICalendarFeed.mime_type -FEEDS[ICALENDAR] = ICalendarFeed +registry.register(ICalendarFeed, verbose_name="iCalendar") try: DEFAULT_SITE = Site.objects.get_current() except: @@ -219,17 +224,17 @@ class CalendarView(FeedView): # or per-calendar-view basis. #url(r'^%s/(?P[\w-]+)' % self.location_permalink_base, ...) - if self.tag_archive_page: + if self.tag_archive_page_id: urlpatterns += patterns('', url(r'^%s$' % self.tag_permalink_base, self.tag_archive_view, name='tag_archive') ) - if self.owner_archive_page: + if self.owner_archive_page_id: urlpatterns += patterns('', url(r'^%s$' % self.owner_permalink_base, self.owner_archive_view, name='owner_archive') ) - if self.location_archive_page: + if self.location_archive_page_id: urlpatterns += patterns('', url(r'^%s$' % self.location_permalink_base, self.location_archive_view, name='location_archive') ) @@ -330,7 +335,7 @@ class CalendarView(FeedView): def get_events_by_location(self, request, app_label, model, pk, extra_context=None): try: - ct = ContentType.objects.get(app_label=app_label, model=model) + ct = ContentType.objects.get_by_natural_key(app_label, model) location = ct.model_class()._default_manager.get(pk=pk) except ObjectDoesNotExist: raise Http404 @@ -457,5 +462,4 @@ class CalendarView(FeedView): return u"%s for %s" % (self.__class__.__name__, self.calendar) field = CalendarView._meta.get_field('feed_type') -field._choices += ((ICALENDAR, 'iCalendar'),) -field.default = ICALENDAR \ No newline at end of file +field.default = registry.get_slug(ICalendarFeed, field.default) \ No newline at end of file