mirror of
https://github.com/jazzband/django-downloadview.git
synced 2026-03-16 22:40:25 +00:00
Fix StorageFile compatibility & some lint issues
This commit is contained in:
parent
0ad5e1238a
commit
ac1e4dc9ce
5 changed files with 36 additions and 28 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
3
tox.ini
3
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue