mirror of
https://github.com/django/django.git
synced 2025-11-07 07:15:35 +00:00
Fixed #10497 -- Added a few time-related methods to the storage API. Thanks for the report and patch to Stephan Jaekel.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14012 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -2,6 +2,7 @@ import os
|
||||
import errno
|
||||
import urlparse
|
||||
import itertools
|
||||
from datetime import datetime
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured, SuspiciousOperation
|
||||
@@ -120,6 +121,27 @@ class Storage(object):
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
def accessed_time(self, name):
|
||||
"""
|
||||
Returns the last accessed time (as datetime object) of the file
|
||||
specified by name.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
def created_time(self, name):
|
||||
"""
|
||||
Returns the creation time (as datetime object) of the file
|
||||
specified by name.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
def modified_time(self, name):
|
||||
"""
|
||||
Returns the last modified time (as datetime object) of the file
|
||||
specified by name.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
class FileSystemStorage(Storage):
|
||||
"""
|
||||
Standard filesystem storage
|
||||
@@ -220,6 +242,15 @@ class FileSystemStorage(Storage):
|
||||
raise ValueError("This file is not accessible via a URL.")
|
||||
return urlparse.urljoin(self.base_url, name).replace('\\', '/')
|
||||
|
||||
def accessed_time(self, name):
|
||||
return datetime.fromtimestamp(os.path.getatime(self.path(name)))
|
||||
|
||||
def created_time(self, name):
|
||||
return datetime.fromtimestamp(os.path.getctime(self.path(name)))
|
||||
|
||||
def modified_time(self, name):
|
||||
return datetime.fromtimestamp(os.path.getmtime(self.path(name)))
|
||||
|
||||
def get_storage_class(import_path=None):
|
||||
if import_path is None:
|
||||
import_path = settings.DEFAULT_FILE_STORAGE
|
||||
|
||||
Reference in New Issue
Block a user