summaryrefslogtreecommitdiffstats
path: root/urls.py
blob: 8003a0d6449e5f282d07d52ea5803e2e180b73d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
from django.conf.urls.defaults import patterns, include, url
from django.conf import settings
from api import EmailResource, ThreadResource, SearchResource

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    ################# INDEX PAGE ################
    url(r'^/$', 'views.pages.index'),
    url(r'^$', 'views.pages.index'),

    ################# ARCHIVES ###################
    url(r'^archives/(?P<mlist_fqdn>.*@.*)/(?P<year>\d{4})/(?P<month>\d\d?)/(?P<day>\d\d?)/$',
        'views.pages.archives'),
    url(r'^archives/(?P<mlist_fqdn>.*@.*)/(?P<year>\d{4})/(?P<month>\d\d?)/$',
        'views.pages.archives'),
    url(r'^archives/(?P<mlist_fqdn>.*@.*)/$',
        'views.pages.archives'),

    ############### THREAD VIEW ##################
    url(r'^thread/(?P<mlist_fqdn>.*@.*)/(?P<threadid>.+)/$',
        'views.pages.thread'),


    ############### LIST VIEW   ###################
    url(r'^list/$', 'views.pages.index'),
    url(r'^list/(?P<mlist_fqdn>.*@.*)/$',
        'views.pages.list'),


    ############### MESSAGE ########################
    url(r'^message/(?P<mlist_fqdn>.*@.*)/(?P<messageid>.+)/$',
        'views.pages.message'),


    ############### SEARCH ##################
    # If page number is present in URL
    url(r'^search/(?P<mlist_fqdn>.*@.*)\/(?P<target>.*)\/(?P<keyword>.*)\/(?P<page>\d+)/$',
        'views.pages.search_keyword'),
    # Show the first page as default when no page number is present in URL
    url(r'^search/(?P<mlist_fqdn>.*@.*)\/(?P<target>.*)\/(?P<keyword>.*)/$',
        'views.pages.search_keyword'),
    url(r'^search/(?P<mlist_fqdn>.*@.*)/$',
        'views.pages.search'),


    ############## TAG   ######################
    url(r'^tag/(?P<mlist_fqdn>.*@.*)\/(?P<tag>.*)\/(?P<page>\d+)/$',
        'views.pages.search_tag'),
    url(r'^tag/(?P<mlist_fqdn>.*@.*)\/(?P<tag>.*)/$',
        'views.pages.search_tag'),

    ############## REST API #####################
    url(r'^api/$', 'views.pages.api'),
    url(r'^api/email\/(?P<mlist_fqdn>.*@.*)\/(?P<messageid>.*)/',
        EmailResource.as_view()),
    url(r'^api/thread\/(?P<mlist_fqdn>.*@.*)\/(?P<threadid>.*)/',
        ThreadResource.as_view()),
    url(r'^api/search\/(?P<mlist_fqdn>.*@.*)\/(?P<field>.*)\/(?P<keyword>.*)/',
        SearchResource.as_view()),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
)
#) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += staticfiles_urlpatterns()