Skip to content

Commit

Permalink
Add support for media_metadata API parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
const-cloudinary committed Jan 5, 2023
1 parent 0fbd72c commit b298c5d
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 23 deletions.
2 changes: 1 addition & 1 deletion cloudinary/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ def _prepare_asset_details_params(**options):
:internal
"""
return only(options, "exif", "faces", "colors", "image_metadata", "cinemagraph_analysis",
return only(options, "exif", "faces", "colors", "image_metadata", "media_metadata", "cinemagraph_analysis",
"pages", "phash", "coordinates", "max_results", "quality_analysis", "derived_next_cursor",
"accessibility_analysis", "versions")

Expand Down
1 change: 1 addition & 0 deletions cloudinary/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
"backup",
"faces",
"image_metadata",
"media_metadata",
"exif",
"colors",
"use_filename",
Expand Down
5 changes: 3 additions & 2 deletions test/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -288,13 +288,14 @@ def test07_resource_metadata(self):
@unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret")
def test07_a_resource_by_asset_id(self, mocker):
mocker.return_value = MOCK_RESPONSE
api.resource_by_asset_id(API_TEST_ID, quality_analysis=True , colors=True ,accessibility_analysis=True)
api.resource_by_asset_id(API_TEST_ID, quality_analysis=True, colors=True, accessibility_analysis=True,
media_metadata=True)
args, kargs = mocker.call_args
self.assertTrue(get_uri(args).endswith('/resources/{}'.format(API_TEST_ID)))
self.assertTrue(get_params(args)['quality_analysis'])
self.assertTrue(get_params(args)['colors'])
self.assertTrue(get_params(args)['accessibility_analysis'])

self.assertTrue(get_params(args)['media_metadata'])

@unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret")
def test07_b_resource_by_asset_id(self):
Expand Down
29 changes: 9 additions & 20 deletions test/test_uploader.py
Original file line number Diff line number Diff line change
Expand Up @@ -929,34 +929,23 @@ def test_access_control(self, request_mock):
uploader.upload(TEST_IMAGE, access_control=invalid_value)

@patch('urllib3.request.RequestMethods.request')
def test_cinemagraph_analysis(self, request_mock):
"""Should support cinemagraph analysis in upload and explicit"""
def test_various_upload_parameters(self, request_mock):
"""Should support various parameters in upload and explicit"""
request_mock.return_value = MOCK_RESPONSE

uploader.upload(TEST_IMAGE, cinemagraph_analysis=True)
options = {'cinemagraph_analysis': True, 'accessibility_analysis':True, 'media_metadata':True}
uploader.upload(TEST_IMAGE, **options)

params = get_params(request_mock.call_args[0])
self.assertIn("cinemagraph_analysis", params)
for param in options.keys():
self.assertIn(param, params)

uploader.explicit(TEST_IMAGE, cinemagraph_analysis=True)
uploader.explicit(TEST_IMAGE, **options)

params = get_params(request_mock.call_args[0])
self.assertIn("cinemagraph_analysis", params)
for param in options.keys():
self.assertIn(param, params)

@patch('urllib3.request.RequestMethods.request')
def test_accessibility_analysis(self, request_mock):
"""Should support accessibility analysis in upload and explicit"""
request_mock.return_value = MOCK_RESPONSE

uploader.upload(TEST_IMAGE, accessibility_analysis=True)

params = get_params(request_mock.call_args[0])
self.assertIn("accessibility_analysis", params)

uploader.explicit(TEST_IMAGE, accessibility_analysis=True)

params = get_params(request_mock.call_args[0])
self.assertIn("accessibility_analysis", params)

@unittest.skipUnless(cloudinary.config().api_secret, "requires api_key/api_secret")
def test_eval_upload_parameter(self):
Expand Down

0 comments on commit b298c5d

Please sign in to comment.