Beispiel #1
0
    def file_complete(self, file_size):
        mp_file_size = sum([part.size for part in self.mp])

        if file_size > self.max_file_size or mp_file_size > self.max_file_size:
            raise FileExceedsSizeLimit

        if file_size != mp_file_size:
            raise Exception("Uploaded file size doesn't match computed file size.")

        self.mp.complete_upload()

        # save local metadata
        self.row.size = file_size
        self.row.save()
        self.row.releaseLock()

        uploaded_file = UploadedFile()
        uploaded_file.download_key = self.row.getKey()
        uploaded_file.name = self.row.filename

        return uploaded_file