Exemplo n.º 1
0
class AppEngineUploadedFile(UploadedFile):
    """
    A file uploaded via App Engine's upload mechanism.
    """

    def __init__(self, **kwargs):
        gs_object_name = kwargs.pop('gs_object_name', None)
        blob_key = kwargs.pop('blob_key', None)
        if gs_object_name:
            self.blobstore_info = CloudStorageInfo(gs_object_name)
        elif blob_key:
            self.blobstore_info = BlobInfo(blob_key)
        else:
            raise ValueError('A gs_object_name or blob_key is required.')

        super(AppEngineUploadedFile, self).__init__(self.blobstore_info.open(), **kwargs)

    def open(self, mode=None):
        pass

    def chunks(self, chunk_size=1024 * 128):
        self.file.seek(0)
        while True:
            content = self.read(chunk_size)
            if not content:
                break
            yield content

    def multiple_chunks(self, chunk_size=1024 * 128):
        return True
Exemplo n.º 2
0
class AppEngineUploadedFile(UploadedFile):
    """
    A file uploaded via App Engine's upload mechanism.
    """
    def __init__(self, **kwargs):
        gs_object_name = kwargs.pop('gs_object_name', None)
        blob_key = kwargs.pop('blob_key', None)
        if gs_object_name:
            self.blobstore_info = CloudStorageInfo(gs_object_name)
        elif blob_key:
            self.blobstore_info = BlobInfo(blob_key)
        else:
            raise ValueError('A gs_object_name or blob_key is required.')

        super(AppEngineUploadedFile, self).__init__(self.blobstore_info.open(),
                                                    **kwargs)

    def open(self, mode=None):
        pass

    def chunks(self, chunk_size=1024 * 128):
        self.file.seek(0)
        while True:
            content = self.read(chunk_size)
            if not content:
                break
            yield content

    def multiple_chunks(self, chunk_size=1024 * 128):
        return True