diff --git a/demo/demoproject/compat.py b/demo/demoproject/compat.py index c1ed757..5e2dc71 100644 --- a/demo/demoproject/compat.py +++ b/demo/demoproject/compat.py @@ -3,20 +3,20 @@ from django.utils.version import get_version try: - from django.conf.urls import patterns + from django.conf.urls import patterns # noqa except ImportError: def patterns(prefix, *args): return list(args) try: - from django.urls import reverse + from django.urls import reverse # noqa except ImportError: - from django.core.urlresolvers import reverse + from django.core.urlresolvers import reverse # noqa if StrictVersion(get_version()) >= StrictVersion('2.0'): - from django.conf.urls import include as urlinclude + from django.conf.urls import include as urlinclude # noqa def include(arg, namespace=None, app_name=None): return urlinclude((arg, app_name), namespace=namespace) else: - from django.conf.urls import include + from django.conf.urls import include # noqa diff --git a/django_downloadview/files.py b/django_downloadview/files.py index c6b4e0d..70061f1 100644 --- a/django_downloadview/files.py +++ b/django_downloadview/files.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- """File wrappers for use as exchange data between views and responses.""" from __future__ import absolute_import + from io import BytesIO from six.moves.urllib.parse import urlparse @@ -122,7 +123,10 @@ class StorageFile(File): Proxy to self.storage.accessed_time(self.name). """ - return self.storage.accessed(self.name) + try: + return self.storage.get_accessed_time(self.name) + except AttributeError: + return self.storage.accessed_time(self.name) @property def created_time(self): @@ -131,7 +135,10 @@ class StorageFile(File): Proxy to self.storage.created_time(self.name). """ - return self.storage.created_time(self.name) + try: + return self.storage.get_created_time(self.name) + except AttributeError: + return self.storage.created_time(self.name) @property def modified_time(self): @@ -140,7 +147,10 @@ class StorageFile(File): Proxy to self.storage.modified_time(self.name). """ - return self.storage.modified_time(self.name) + try: + return self.storage.get_modified_time(self.name) + except AttributeError: + return self.storage.modified_time(self.name) class VirtualFile(File): diff --git a/django_downloadview/io.py b/django_downloadview/io.py index 1935413..882c87f 100644 --- a/django_downloadview/io.py +++ b/django_downloadview/io.py @@ -40,38 +40,38 @@ class TextIteratorIO(io.TextIOBase): def read(self, n=None): """Return content up to ``n`` length.""" - l = [] + chunks = [] if n is None or n < 0: while True: m = self._read1() if not m: break - l.append(m) + chunks.append(m) else: while n > 0: m = self._read1(n) if not m: break n -= len(m) - l.append(m) - return u''.join(l) + chunks.append(m) + return u''.join(chunks) def readline(self): - l = [] + chunks = [] while True: i = self._left.find(u'\n') if i == -1: - l.append(self._left) + chunks.append(self._left) try: self._left = next(self._iter) except StopIteration: self._left = u'' break else: - l.append(self._left[:i + 1]) + chunks.append(self._left[:i + 1]) self._left = self._left[i + 1:] break - return u''.join(l) + return u''.join(chunks) class BytesIteratorIO(io.BytesIO): @@ -108,35 +108,35 @@ class BytesIteratorIO(io.BytesIO): def read(self, n=None): """Return content up to ``n`` length.""" - l = [] + chunks = [] if n is None or n < 0: while True: m = self._read1() if not m: break - l.append(m) + chunks.append(m) else: while n > 0: m = self._read1(n) if not m: break n -= len(m) - l.append(m) - return b''.join(l) + chunks.append(m) + return b''.join(chunks) def readline(self): - l = [] + chunks = [] while True: i = self._left.find(b'\n') if i == -1: - l.append(self._left) + chunks.append(self._left) try: self._left = next(self._iter) except StopIteration: self._left = b'' break else: - l.append(self._left[:i + 1]) + chunks.append(self._left[:i + 1]) self._left = self._left[i + 1:] break - return b''.join(l) + return b''.join(chunks) diff --git a/django_downloadview/views/base.py b/django_downloadview/views/base.py index 29121c3..c476d83 100644 --- a/django_downloadview/views/base.py +++ b/django_downloadview/views/base.py @@ -116,7 +116,8 @@ class DownloadMixin(object): modification_time = calendar.timegm( file_instance.modified_time.utctimetuple()) size = file_instance.size - except (AttributeError, NotImplementedError): + except (AttributeError, NotImplementedError) as e: + print("!=======!", e) return True else: return was_modified_since(since, modification_time, size) diff --git a/tox.ini b/tox.ini index e2e6130..fcf97dc 100644 --- a/tox.ini +++ b/tox.ini @@ -11,9 +11,6 @@ envlist = py{27}-django{18,19,110,111}, [travis:env] DJANGO = - 1.8: django18 - 1.9: django19 - 1.10: django110 1.11: django111 2.0: django20 2.1: django21