File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed
Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change 1717import copy
1818import mimetypes
1919import os
20+ import time
21+ import datetime
2022from StringIO import StringIO
2123import urllib
2224
@@ -254,6 +256,13 @@ def download_to_filename(self, filename):
254256 with open (filename , 'wb' ) as file_obj :
255257 self .download_to_file (file_obj )
256258
259+ mtime = time .mktime (
260+ datetime .datetime .strptime (
261+ self .properties ['updated' ],
262+ '%Y-%m-%dT%H:%M:%S.%fz' ).timetuple ()
263+ )
264+ os .utime (file_obj .name , (mtime , mtime ))
265+
257266 # NOTE: Alias for boto-like API.
258267 get_contents_to_filename = download_to_filename
259268
Original file line number Diff line number Diff line change @@ -215,6 +215,9 @@ def test_download_to_file(self):
215215
216216 def test_download_to_filename (self ):
217217 import httplib
218+ import os
219+ import time
220+ import datetime
218221 from tempfile import NamedTemporaryFile
219222 KEY = 'key'
220223 chunk1_response = {'status' : httplib .PARTIAL_CONTENT ,
@@ -227,15 +230,23 @@ def test_download_to_filename(self):
227230 )
228231 bucket = _Bucket (connection )
229232 MEDIA_LINK = 'http://example.com/media/'
230- properties = {'mediaLink' : MEDIA_LINK }
233+ properties = {'mediaLink' : MEDIA_LINK ,
234+ 'updated' : '2014-12-06T13:13:50.690Z' }
231235 key = self ._makeOne (bucket , KEY , properties )
232236 key .CHUNK_SIZE = 3
233237 with NamedTemporaryFile () as f :
234238 key .download_to_filename (f .name )
235239 f .flush ()
236240 with open (f .name ) as g :
237241 wrote = g .read ()
242+ mtime = os .path .getmtime (f .name )
243+ updatedTime = time .mktime (
244+ datetime .datetime .strptime (
245+ key .properties ['updated' ],
246+ '%Y-%m-%dT%H:%M:%S.%fz' ).timetuple ()
247+ )
238248 self .assertEqual (wrote , 'abcdef' )
249+ self .assertEqual (mtime , updatedTime )
239250
240251 def test_download_as_string (self ):
241252 import httplib
You can’t perform that action at this time.
0 commit comments