@@ -388,3 +388,44 @@ def post_op(self, id: str, path_data: Union[dict, None], post_data: Any) -> dict
388
388
"""
389
389
path = self ._get_path_for_op_id (id )
390
390
return self .post_path (path , path_data , post_data )
391
+
392
+ def delete_path (self , path : str , path_data : Union [dict , None ]) -> dict :
393
+ """Deletes a resource in the ESI by an endpoint URL.
394
+
395
+ This method is not marked "private" as it _can_ be used
396
+ by consuming code, but it's probably easier to call the
397
+ `delete_op` method instead.
398
+
399
+ Args:
400
+ path: raw ESI URL path
401
+ path_data: data to format the path with (can be None)
402
+
403
+ Returns:
404
+ ESI response data
405
+ """
406
+ var_insert = self ._insert_vars (path , path_data )
407
+ path = var_insert [0 ]
408
+ target_url = self .BASE_URL + path
409
+ if len (var_insert [1 ]) > 0 :
410
+ req = requests .models .PreparedRequest ()
411
+ req .prepare_url (target_url , var_insert [1 ])
412
+ target_url = req .url
413
+
414
+ self ._try_refresh_access_token ()
415
+ resp = self .session .delete (target_url )
416
+ if resp .text :
417
+ return resp .json ()
418
+ return None
419
+
420
+ def delete_op (self , id : str , path_data : Union [dict , None ]) -> dict :
421
+ """Deletes a resource in the ESI by looking up an operation id.
422
+
423
+ Args:
424
+ id: operation id
425
+ path_data: data to format the path with (can be None)
426
+
427
+ Returns:
428
+ ESI response data
429
+ """
430
+ path = self ._get_path_for_op_id (id )
431
+ return self .delete_path (path , path_data )
0 commit comments