def test08a_delete_derived_by_transformation(self, mocker): """ should allow deleting derived resource by transformations """ public_resource_id = 'public_resource_id' public_resource_id2 = 'public_resource_id2' transformation = {"crop": "scale", "width": 100} transformation2 = {"crop": "scale", "width": 200} mocker.return_value = MOCK_RESPONSE api.delete_derived_by_transformation(public_resource_id, transformation) method, url, params = mocker.call_args[0][0:3] self.assertEqual('DELETE', method) self.assertTrue(url.endswith('/resources/image/upload')) self.assertIn(public_resource_id, get_list_param(mocker, 'public_ids')) self.assertEqual(get_param(mocker, 'transformations'), utils.build_eager([transformation])) self.assertTrue(get_param(mocker, 'keep_original')) mocker.return_value = MOCK_RESPONSE api.delete_derived_by_transformation( [public_resource_id, public_resource_id2], [transformation, transformation2], resource_type='raw', type='fetch', invalidate=True, foo='bar') method, url, params = mocker.call_args[0][0:3] self.assertEqual('DELETE', method) self.assertTrue(url.endswith('/resources/raw/fetch')) self.assertIn(public_resource_id, get_list_param(mocker, 'public_ids')) self.assertIn(public_resource_id2, get_list_param(mocker, 'public_ids')) self.assertEqual(get_param(mocker, 'transformations'), utils.build_eager([transformation, transformation2])) self.assertTrue(get_param(mocker, 'keep_original')) self.assertTrue(get_param(mocker, 'invalidate'))
def explicit(public_id, **options): params = { "timestamp": utils.now(), "type": options.get("type"), "public_id": public_id, "callback": options.get("callback"), "headers": utils.build_custom_headers(options.get("headers")), "eager": utils.build_eager(options.get("eager")), "eager_notification_url": options.get("eager_notification_url"), "eager_async": options.get("eager_async"), "tags": options.get("tags") and ",".join(utils.build_array(options["tags"])), "face_coordinates": utils.encode_double_array(options.get("face_coordinates")), "custom_coordinates": utils.encode_double_array(options.get("custom_coordinates")), "invalidate": options.get("invalidate"), "context": utils.encode_dict(options.get("context")), "responsive_breakpoints": utils.generate_responsive_breakpoints_string( options.get("responsive_breakpoints")) } return call_api("explicit", params, **options)
def explicit(public_id, **options): params = { "timestamp": utils.now(), "type": options.get("type"), "public_id": public_id, "callback": options.get("callback"), "headers": utils.build_custom_headers(options.get("headers")), "eager": utils.build_eager(options.get("eager")), "tags": options.get("tags") and ",".join(utils.build_array(options["tags"])), "face_coordinates": utils.encode_double_array(options.get("face_coordinates"))} return call_api("explicit", params, **options)
def explicit(public_id, **options): params = { "timestamp": utils.now(), "type": options.get("type"), "public_id": public_id, "callback": options.get("callback"), "headers": utils.build_custom_headers(options.get("headers")), "eager": utils.build_eager(options.get("eager")), "tags": options.get("tags") and ",".join(utils.build_array(options["tags"])), "face_coordinates": utils.encode_double_array(options.get("face_coordinates")), "custom_coordinates": utils.encode_double_array(options.get("custom_coordinates"))} return call_api("explicit", params, **options)
def create_slideshow(**options): """ Creates auto-generated video slideshows. :param options: The optional parameters. See the upload API documentation. :return: a dictionary with details about created slideshow """ options["resource_type"] = options.get("resource_type", "video") params = {param_name: options.get(param_name) for param_name in _SLIDESHOW_PARAMS} serialized_params = { "timestamp": utils.now(), "transformation": build_eager(options.get("transformation")), "manifest_transformation": build_eager(options.get("manifest_transformation")), "manifest_json": options.get("manifest_json") and utils.json_encode(options.get("manifest_json")), "tags": options.get("tags") and utils.encode_list(utils.build_array(options["tags"])), } params.update(serialized_params) return call_api("create_slideshow", params, **options)
def explicit(public_id, **options): params = { "timestamp": utils.now(), "type": options.get("type"), "public_id": public_id, "callback": options.get("callback"), "headers": utils.build_custom_headers(options.get("headers")), "eager": utils.build_eager(options.get("eager")), "eager_notification_url": options.get("eager_notification_url"), "eager_async": options.get("eager_async"), "tags": options.get("tags") and ",".join(utils.build_array(options["tags"])), "face_coordinates": utils.encode_double_array(options.get("face_coordinates")), "custom_coordinates": utils.encode_double_array(options.get("custom_coordinates")), "invalidate": options.get("invalidate"), "context": utils.encode_dict(options.get("context")), "responsive_breakpoints": utils.generate_responsive_breakpoints_string(options.get("responsive_breakpoints"))} return call_api("explicit", params, **options)