From bf7b0f23fdae4e609afa9fe7da7961de6ee191c7 Mon Sep 17 00:00:00 2001 From: zero13cool Date: Thu, 16 Jul 2015 21:05:46 +0300 Subject: [PATCH] Refs #104 - Convert datetime to unix timestamp --- django_downloadview/views/base.py | 5 ++++- tests/views.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/django_downloadview/views/base.py b/django_downloadview/views/base.py index a8b9c82..29121c3 100644 --- a/django_downloadview/views/base.py +++ b/django_downloadview/views/base.py @@ -1,6 +1,8 @@ # -*- coding: utf-8 -*- """Base material for download views: :class:`DownloadMixin` and :class:`BaseDownloadView`""" +import calendar + from django.http import HttpResponseNotModified, Http404 from django.views.generic.base import View from django.views.static import was_modified_since @@ -111,7 +113,8 @@ class DownloadMixin(object): return file_instance.was_modified_since(since) except (AttributeError, NotImplementedError): try: - modification_time = file_instance.modified_time + modification_time = calendar.timegm( + file_instance.modified_time.utctimetuple()) size = file_instance.size except (AttributeError, NotImplementedError): return True diff --git a/tests/views.py b/tests/views.py index c6c9517..21edc9b 100644 --- a/tests/views.py +++ b/tests/views.py @@ -2,6 +2,7 @@ """Tests around :mod:`django_downloadview.views`.""" import os import unittest +from datetime import datetime try: from unittest import mock except ImportError: @@ -92,7 +93,7 @@ class DownloadMixinTestCase(unittest.TestCase): file_wrapper.was_modified_since = mock.Mock( side_effect=AttributeError) file_wrapper.size = mock.sentinel.size - file_wrapper.modified_time = mock.sentinel.modified_time + file_wrapper.modified_time = datetime.now() was_modified_since_mock = mock.Mock( return_value=mock.sentinel.was_modified) mixin = views.DownloadMixin()