1 """Urls for the Zinnia entries"""
2 from django.conf.urls.defaults import url
3 from django.conf.urls.defaults import patterns
4
5 from zinnia.models import Entry
6 from zinnia.settings import PAGINATION
7 from zinnia.settings import ALLOW_EMPTY
8 from zinnia.settings import ALLOW_FUTURE
9
10 entry_conf_index = {'queryset': Entry.published.all(),
11 'paginate_by': PAGINATION,
12 'template_name': 'zinnia/entry_archive.html'}
13
14 entry_conf = {'queryset': Entry.published.all(),
15 'date_field': 'creation_date',
16 'allow_empty': ALLOW_EMPTY,
17 'allow_future': ALLOW_FUTURE,
18 'month_format': '%m'}
19
20 entry_conf_year = entry_conf.copy()
21 entry_conf_year['make_object_list'] = True
22 del entry_conf_year['month_format']
23
24 entry_conf_detail = entry_conf.copy()
25 del entry_conf_detail['allow_empty']
26 entry_conf_detail['queryset'] = Entry.published.on_site()
27
28
29 urlpatterns = patterns('zinnia.views.entries',
30 url(r'^$',
31 'entry_index', entry_conf_index,
32 name='zinnia_entry_archive_index'),
33 url(r'^page/(?P<page>\d+)/$',
34 'entry_index', entry_conf_index,
35 name='zinnia_entry_archive_index_paginated'),
36 url(r'^(?P<year>\d{4})/$',
37 'entry_year', entry_conf_year,
38 name='zinnia_entry_archive_year'),
39 url(r'^(?P<year>\d{4})/(?P<month>\d{2})/$',
40 'entry_month', entry_conf,
41 name='zinnia_entry_archive_month'),
42 url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$',
43 'entry_day', entry_conf,
44 name='zinnia_entry_archive_day'),
45 url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$',
46 'entry_detail', entry_conf_detail,
47 name='zinnia_entry_detail'),
48 )
49