def test_rename_parameters(self, mocker): """should support to_type, invalidate, and overwrite """ mocker.return_value = MOCK_RESPONSE uploader.rename(TEST_IMAGE, TEST_IMAGE + "2", to_type='raw', invalidate=True, overwrite=False) args, kargs = mocker.call_args self.assertEqual(get_params(args)['to_type'], 'raw') self.assertTrue(get_params(args)['invalidate']) self.assertTrue(get_params(args)['overwrite'])
def test_rename(self): """should successfully rename a file""" result = uploader.upload("tests/logo.png") uploader.rename(result["public_id"], result["public_id"]+"2") self.assertIsNotNone(api.resource(result["public_id"]+"2")) result2 = uploader.upload("tests/favicon.ico") self.assertRaises(api.Error, uploader.rename, result2["public_id"], result["public_id"]+"2") uploader.rename(result2["public_id"], result["public_id"]+"2", overwrite=True) self.assertEqual(api.resource(result["public_id"]+"2")["format"], "ico")
def test_rename(self): """should successfully rename a file""" result = uploader.upload(TEST_IMAGE, tags=[UNIQUE_TAG]) uploader.rename(result["public_id"], result["public_id"]+"2") self.assertIsNotNone(api.resource(result["public_id"]+"2")) result2 = uploader.upload("tests/favicon.ico", tags=[UNIQUE_TAG]) self.assertRaises(api.Error, uploader.rename, result2["public_id"], result["public_id"]+"2") uploader.rename(result2["public_id"], result["public_id"]+"2", overwrite=True) self.assertEqual(api.resource(result["public_id"]+"2")["format"], "ico")
def photo_rename(bucket_link, photos): p = "" paths = [] for photo in photos: p = photo.split("/")[3] p = p.split('#')[0].split('.')[0] path = "%s/%s" % (bucket_link, p) rename(p, path) paths.append(path) return paths
def test_rename(self): """should successfully rename a file""" result = uploader.upload(TEST_IMAGE, tags=[UNIQUE_TAG]) uploader.rename(result["public_id"], result["public_id"]+"2") self.assertIsNotNone(api.resource(result["public_id"]+"2")) result2 = uploader.upload(TEST_ICON, tags=[UNIQUE_TAG]) self.assertRaises(api.Error, uploader.rename, result2["public_id"], result["public_id"]+"2") uploader.rename(result2["public_id"], result["public_id"]+"2", overwrite=True) self.assertEqual(api.resource(result["public_id"]+"2")["format"], "ico")
def _rename_file(self, new_name: str, **options): # TODO: Cloudinary can't copy files. We dont't want to do it manually cloudinary_options = self.get_cloudinary_options() cloudinary_options.update(options.get('cloudinary', {})) old_name = self.name file_field = self.get_file_field() folder, basename = posixpath.split(old_name) if file_field.resource_type != 'raw': # video and image have no extension base, ext = posixpath.splitext(new_name) new_name = base new_name = posixpath.join(folder, new_name) try: result = uploader.rename(old_name, new_name, type=file_field.type, resource_type=file_field.resource_type, **cloudinary_options) except cloudinary.exceptions.Error as e: raise ValidationError(*e.args) # fix difference between `public_id` in response # and `public_id` in CloudinaryField file_format = result.get("format") if file_format: public_id = result["public_id"] else: public_id, file_format = posixpath.splitext(result["public_id"]) file_format = file_format.lstrip('.') resource = CloudinaryResource( public_id, version=str(result["version"]), format=file_format, type=result["type"], resource_type=result["resource_type"], metadata=result, ) self.set_file(resource) self.basename = helpers.get_filename(new_name) self.extension = file_format or '' return result