def uploadToGCS(filename, file, file_type, bucket_name, object_name): log('Building upload request...', True) media = MediaIoBaseUpload(io.BytesIO(file), file_type, chunksize=CHUNKSIZE, resumable=True) if not media.mimetype(): media = MediaIoBaseUpload(io.BytesIO(file), DEFAULT_MIMETYPE, chunksize=CHUNKSIZE, resumable=True) request = service.objects().insert(bucket=bucket_name, name=object_name, media_body=media) log('Uploading file: %s to bucket: %s object: %s ' % (filename, bucket_name, object_name)) progressless_iters = 0 response = None while response is None: error = None try: progress, response = request.next_chunk() if progress: log('Upload %d%%' % (100 * progress.progress())) except urllib.error.HTTPError as err: error = err if err.resp.status < 500: raise except RETRYABLE_ERRORS as err: error = err if error: progressless_iters += 1 handle_progressless_iter(error, progressless_iters) else: progressless_iters = 0 #print('\n') log('Upload complete!')
def test_media_io_base_upload_from_file_object(self): f = open(datafile("small.png"), "r") upload = MediaIoBaseUpload(fh=f, mimetype="image/png", chunksize=500, resumable=True) self.assertEqual("image/png", upload.mimetype()) self.assertEqual(190, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual("PNG", upload.getbytes(1, 3)) f.close()
def test_media_io_base_upload_from_file_object(self): f = open(datafile('small.png'), 'r') upload = MediaIoBaseUpload( fd=f, mimetype='image/png', chunksize=500, resumable=True) self.assertEqual('image/png', upload.mimetype()) self.assertEqual(190, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual('PNG', upload.getbytes(1, 3)) f.close()
def test_media_io_base_upload_from_string_io(self): f = open(datafile("small.png"), "r") fh = StringIO.StringIO(f.read()) f.close() upload = MediaIoBaseUpload(fh=fh, mimetype="image/png", chunksize=500, resumable=True) self.assertEqual("image/png", upload.mimetype()) self.assertEqual(None, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual("PNG", upload.getbytes(1, 3)) f.close()
def test_media_io_base_upload_from_file_io(self): try: import io fh = io.FileIO(datafile("small.png"), "r") upload = MediaIoBaseUpload(fh=fh, mimetype="image/png", chunksize=500, resumable=True) self.assertEqual("image/png", upload.mimetype()) self.assertEqual(190, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual("PNG", upload.getbytes(1, 3)) except ImportError: pass
def test_media_io_base_upload_from_string_io(self): f = open(datafile('small.png'), 'r') fd = StringIO.StringIO(f.read()) f.close() upload = MediaIoBaseUpload( fd=fd, mimetype='image/png', chunksize=500, resumable=True) self.assertEqual('image/png', upload.mimetype()) self.assertEqual(None, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual('PNG', upload.getbytes(1, 3)) f.close()
def test_media_io_base_upload_from_file_io(self): try: import io fd = io.FileIO(datafile('small.png'), 'r') upload = MediaIoBaseUpload( fd=fd, mimetype='image/png', chunksize=500, resumable=True) self.assertEqual('image/png', upload.mimetype()) self.assertEqual(190, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual('PNG', upload.getbytes(1, 3)) except ImportError: pass
def test_media_io_base_upload_from_string_io(self): f = open(datafile('small.png'), 'rb') fd = io.BytesIO(f.read()) f.close() upload = MediaIoBaseUpload(fd=fd, mimetype='image/png', chunksize=500, resumable=True) self.assertEqual('image/png', upload.mimetype()) self.assertEqual(190, upload.size()) self.assertEqual(True, upload.resumable()) self.assertEqual(500, upload.chunksize()) self.assertEqual(b'PNG', upload.getbytes(1, 3)) f.close()