Esempio n. 1
0
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
Esempio n. 2
0
    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()
Esempio n. 3
0
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
Esempio n. 4
0
    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()
Esempio n. 5
0
 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))
Esempio n. 6
0
 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()