summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--urls.py2
-rw-r--r--views/pages.py26
2 files changed, 21 insertions, 7 deletions
diff --git a/urls.py b/urls.py
index 1a358d5..8003a0d 100644
--- a/urls.py
+++ b/urls.py
@@ -14,6 +14,8 @@ urlpatterns = patterns('',
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>.*@.*)/$',
diff --git a/views/pages.py b/views/pages.py
index e1a082d..82b4d46 100644
--- a/views/pages.py
+++ b/views/pages.py
@@ -69,19 +69,31 @@ def api(request):
return HttpResponse(t.render(c))
-def archives(request, mlist_fqdn, year=None, month=None):
+def archives(request, mlist_fqdn, year=None, month=None, day=None):
# No year/month: past 32 days
# year and month: find the 32 days for that month
end_date = None
- if year or month:
+ if year or month or day:
try:
- begin_date = datetime(int(year), int(month), 1)
- if int(month) == 12:
- end_date = datetime(int(year) + 1, 1, 1)
- else:
- end_date = datetime(int(year), int(month) +1, 1)
+ start_day = 1
+ end_day = 1
+ start_month = int(month)
+ end_month = int(month) + 1
+ start_year = int(year)
+ end_year = int(year)
+ if day:
+ start_day = int(day)
+ end_day = start_day + 1
+ end_month = start_month
+ if start_month == 12:
+ end_month = 1
+ end_year = start_year + 1
+
+ begin_date = datetime(start_year, start_month, start_day)
+ end_date = datetime(end_year, end_month, end_day)
month_string = begin_date.strftime('%B %Y')
except ValueError, err:
+ print err
logger.error('Wrong format given for the date')
if not end_date: