Skip to content

Commit

Permalink
Support for background_removal parameter in upload and update
Browse files Browse the repository at this point in the history
  • Loading branch information
TalLevAmi committed Jul 2, 2014
1 parent fb79e4d commit 69a5e02
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 1 deletion.
2 changes: 1 addition & 1 deletion cloudinary/api.py
Expand Up @@ -77,7 +77,7 @@ def update(public_id, **options):
resource_type = options.pop("resource_type", "image")
type = options.pop("type", "upload")
uri = ["resources", resource_type, type, public_id]
upload_options = only(options, "moderation_status", "raw_convert", "ocr", "categorization", "detection", "similarity_search")
upload_options = only(options, "moderation_status", "raw_convert", "ocr", "categorization", "detection", "similarity_search", "background_removal")
if "tags" in options: upload_options["tags"] = ",".join(utils.build_array(options["tags"]))
if "face_coordinates" in options: upload_options["face_coordinates"] = utils.encode_double_array(options.get("face_coordinates"))
if "context" in options: upload_options["context"] = utils.encode_dict(options.get("context"))
Expand Down
1 change: 1 addition & 0 deletions cloudinary/utils.py
Expand Up @@ -285,6 +285,7 @@ def build_upload_params(**options):
"categorization": options.get("categorization"),
"detection": options.get("detection"),
"similarity_search": options.get("similarity_search"),
"background_removal": options.get("background_removal"),
"upload_preset": options.get("upload_preset"),
"phash": options.get("phash"),
"auto_tagging": options.get("auto_tagging") and float(options.get("auto_tagging"))}
Expand Down
6 changes: 6 additions & 0 deletions tests/api_test.py
Expand Up @@ -348,5 +348,11 @@ def test31_update_upload_presets(self):
self.assertEquals(preset["settings"], {"folder": "folder", "colors": True, "disallow_public_id": True})
api.delete_upload_preset(name)

@unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret")
def test32_background_removal(self):
""" should support requesting background_removal """
with self.assertRaisesRegexp(api.BadRequest, 'Illegal value'):
api.update("api_test", background_removal="illegal")

if __name__ == '__main__':
unittest.main()
6 changes: 6 additions & 0 deletions tests/uploader_test.py
Expand Up @@ -184,5 +184,11 @@ def test_upload_preset(self):
self.assertRegexpMatches(result["public_id"], '^upload_folder\/[a-z0-9]+$')
api.delete_upload_preset(preset["name"])

@unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret")
def test_background_removal(self):
""" should support requesting background_removal """
with self.assertRaisesRegexp(api.Error, 'illegal is not a valid'):
uploader.upload("tests/logo.png", background_removal="illegal")

if __name__ == '__main__':
unittest.main()

0 comments on commit 69a5e02

Please sign in to comment.