예제 #1
0
파일: minio.py 프로젝트: tyerq/cloudstorage
    def delete_container(self, container: Container) -> None:
        bucket = self._get_bucket(container.name)

        try:
            self.client.remove_bucket(container.name)
        except BucketNotEmpty:
            raise IsNotEmptyError(messages.CONTAINER_NOT_EMPTY % bucket.name)
예제 #2
0
    def delete_container(self, container: Container) -> None:
        bucket = self._get_bucket(container.name)

        try:
            bucket.delete()
        except Conflict as err:
            if err.code == HTTPStatus.CONFLICT:
                raise IsNotEmptyError(messages.CONTAINER_NOT_EMPTY % bucket.name)
            raise
예제 #3
0
 def delete_container(self, container: Container) -> None:
     try:
         self.object_store.delete_container(container.name)
     except ResourceNotFound:
         raise NotFoundError(container_not_found % container.name)
     except HttpException as e:
         if e.http_status == HTTPStatus.CONFLICT:
             raise IsNotEmptyError(container_not_empty % container.name)
         raise CloudStorageError(e.details)
예제 #4
0
    def delete_container(self, container: Container) -> None:
        bucket = self._get_bucket(container.name)

        try:
            bucket.delete()
        except Conflict as e:
            if e.code == HTTPStatus.CONFLICT:
                raise IsNotEmptyError(container_not_empty % bucket.name)
            raise
    def delete_container(self, container: Container) -> None:
        azure_container = self._get_azure_container(container.name)
        azure_blobs = self.service.list_blobs(azure_container.name,
                                              num_results=1)
        if len(azure_blobs.items) > 0:
            raise IsNotEmptyError(messages.CONTAINER_NOT_EMPTY %
                                  azure_container.name)

        self.service.delete_container(azure_container.name,
                                      fail_not_exist=False)
예제 #6
0
    def delete_container(self, container: Container) -> None:
        bucket = self._get_bucket(container.name, validate=False)

        try:
            bucket.delete()
        except ClientError as e:
            error_code = e.response['Error']['Code']
            if error_code == 'BucketNotEmpty':
                raise IsNotEmptyError(container_not_empty % bucket.name)
            raise
예제 #7
0
 def delete_container(self, container: Container) -> None:
     try:
         self.object_store.delete_container(container.name)
     except ResourceNotFound:
         raise NotFoundError(messages.CONTAINER_NOT_FOUND % container.name)
     except HttpException as err:
         if err.status_code == HTTPStatus.CONFLICT:
             raise IsNotEmptyError(messages.CONTAINER_NOT_EMPTY %
                                   container.name)
         raise CloudStorageError(err.details)
예제 #8
0
    def delete_container(self, container: Container) -> None:
        bucket = self._get_bucket(container.name, validate=False)

        try:
            bucket.delete()
        except ClientError as err:
            error_code = err.response["Error"]["Code"]
            if error_code == "BucketNotEmpty":
                raise IsNotEmptyError(messages.CONTAINER_NOT_EMPTY %
                                      bucket.name)
            raise
예제 #9
0
    def delete_container(self, container: Container) -> None:
        for _ in self.get_blobs(container):
            raise IsNotEmptyError(container_not_empty % container.name)

        path = self._get_folder_path(container, validate=True)

        with lock_local_file(path):
            try:
                shutil.rmtree(path)
            except shutil.Error as e:
                raise CloudStorageError(e.strerror)