Esempio n. 1
0
 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'])
Esempio n. 2
0
 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'])
Esempio n. 3
0
 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")
Esempio n. 4
0
 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")
Esempio n. 5
0
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
Esempio n. 6
0
 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")
Esempio n. 7
0
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

	
Esempio n. 8
0
    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