def download(request, tenant_id, container_name, object_name): object_data = api.swift_get_object_data(request, container_name, object_name) response = http.HttpResponse() response["Content-Disposition"] = "attachment; filename=%s" % object_name for data in object_data: response.write(data) return response
def test_download(self): OBJECT_DATA = 'objectData' OBJECT_NAME = 'objectName' self.mox.StubOutWithMock(api, 'swift_get_object_data') api.swift_get_object_data(IsA(http.HttpRequest), unicode(self.CONTAINER_NAME), unicode(OBJECT_NAME)).AndReturn(OBJECT_DATA) self.mox.ReplayAll() res = self.client.get( reverse('dash_objects_download', args=[self.TEST_TENANT, self.CONTAINER_NAME, OBJECT_NAME])) self.assertEqual(res.content, OBJECT_DATA) self.assertTrue(res.has_header('Content-Disposition')) self.mox.VerifyAll()
def download(request, tenant_id, container_name, object_name): object_data = api.swift_get_object_data( request, container_name, object_name) response = http.HttpResponse() response['Content-Disposition'] = 'attachment; filename=%s' % \ object_name for data in object_data: response.write(data) return response
def test_download(self): OBJECT_DATA = 'objectData' OBJECT_NAME = 'objectName' self.mox.StubOutWithMock(api, 'swift_get_object_data') api.swift_get_object_data(IsA(http.HttpRequest), unicode(self.CONTAINER_NAME), unicode(OBJECT_NAME)).AndReturn(OBJECT_DATA) self.mox.ReplayAll() res = self.client.get(reverse('dash_objects_download', args=[self.TEST_TENANT, self.CONTAINER_NAME, OBJECT_NAME])) self.assertEqual(res.content, OBJECT_DATA) self.assertTrue(res.has_header('Content-Disposition')) self.mox.VerifyAll()
def handle(self, request, data): try: container_name = data['container_name'] object_name = data['object_name'] content_type = data['content_type'] object_data = api.swift_get_object_data( request, container_name, object_name, request.session.get('storage_url', None)) response = http.HttpResponse() response['Content-Disposition'] = 'attachment; filename=%s' % \ object_name.encode('utf-8') response['Content-Type'] = content_type for data in object_data: response.write(data) return response except NoSuchObject, e: messages.error(request, 'Error occurs in downloading object %s' % str(e))
def test_swift_get_object_data(self): CONTAINER_NAME = "containerName" OBJECT_NAME = "objectName" OBJECT_DATA = "objectData" swift_api = self.stub_swift_api() container = self.mox.CreateMock(cloudfiles.container.Container) swift_object = self.mox.CreateMock(cloudfiles.storage_object.Object) swift_api.get_container(CONTAINER_NAME).AndReturn(container) container.get_object(OBJECT_NAME).AndReturn(swift_object) swift_object.stream().AndReturn(OBJECT_DATA) self.mox.ReplayAll() ret_val = api.swift_get_object_data(self.request, CONTAINER_NAME, OBJECT_NAME) self.assertEqual(ret_val, OBJECT_DATA) self.mox.VerifyAll()