Commits

Jannis Leidel committed ffeff06

Use boto's dateparser for getting the last modified time of a file.

Comments (0)

Files changed (1)

storages/backends/s3boto.py

     from boto.s3.connection import S3Connection, SubdomainCallingFormat
     from boto.exception import S3ResponseError
     from boto.s3.key import Key as S3Key
+    from boto.utils import parse_ts
 except ImportError:
     raise ImproperlyConfigured("Could not load Boto's S3 bindings.\n"
                                "See https://github.com/boto/boto")
         return self.bucket.get_key(self._encode_name(name)).size
 
     def modified_time(self, name):
-        try:
-            from dateutil import parser, tz
-        except ImportError:
-            raise NotImplementedError()
         name = self._normalize_name(self._clean_name(name))
         entry = self.entries.get(name)
         # only call self.bucket.get_key() if the key is not found
         # in the preloaded metadata.
         if entry is None:
             entry = self.bucket.get_key(self._encode_name(name))
-        # convert to string to date
-        last_modified_date = parser.parse(entry.last_modified)
-        # if the date has no timzone, assume UTC
-        if last_modified_date.tzinfo == None:
-            last_modified_date = last_modified_date.replace(tzinfo=tz.tzutc())
-        # convert date to local time w/o timezone
-        timezone = tz.gettz(settings.TIME_ZONE)
-        return last_modified_date.astimezone(timezone).replace(tzinfo=None)
+        # Parse the last_modified string to a local datetime object.
+        return parse_ts(entry.last_modified)
 
     def url(self, name):
         name = self._normalize_name(self._clean_name(name))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.