@@ -68,6 +68,37 @@ def __init__(self, access_token=_ACCESS_TOKEN):
68
68
self ._access_token = access_token
69
69
self ._auth_header = {"Authorization" : f"Bearer { access_token } " }
70
70
71
+ def delete (self , url : str , timeout : int = 15 ) -> bool :
72
+ """Make a DELETE request to the Datawrapper API.
73
+
74
+ Parameters
75
+ ----------
76
+ url : str
77
+ The URL to request.
78
+ timeout : int, optional
79
+ The timeout for the request in seconds, by default 15
80
+
81
+ Returns
82
+ -------
83
+ bool
84
+ Whether the request was successful.
85
+ """
86
+ # Set the headers
87
+ headers = self ._auth_header
88
+ headers ["accept" ] = "*/*"
89
+
90
+ # Make the request
91
+ response = r .delete (url , headers = headers )
92
+
93
+ # Handle the response
94
+ if response .ok :
95
+ return True
96
+ else :
97
+ logger .error (
98
+ f"Delete request failed with status code { response .status_code } ."
99
+ )
100
+ raise FailedRequest (response )
101
+
71
102
def get (self , url : str , params : dict | None = None , timeout : int = 15 ) -> Any :
72
103
"""Make a GET request to the Datawrapper API.
73
104
@@ -1016,7 +1047,7 @@ def update_folder(
1016
1047
data = _query ,
1017
1048
)
1018
1049
1019
- def delete_folder (self , folder_id : str | int ):
1050
+ def delete_folder (self , folder_id : str | int ) -> bool :
1020
1051
"""Delete an existing folder.
1021
1052
1022
1053
Parameters
@@ -1026,25 +1057,10 @@ def delete_folder(self, folder_id: str | int):
1026
1057
1027
1058
Returns
1028
1059
-------
1029
- r.Response.content
1030
- The content of the requests.delete request
1060
+ bool
1061
+ True if the folder was deleted successfully.
1031
1062
"""
1032
- _header = self ._auth_header
1033
- _header ["accept" ] = "*/*"
1034
-
1035
- url = self ._FOLDERS_URL + f"/{ folder_id } "
1036
- response = r .delete (
1037
- url = url ,
1038
- headers = _header ,
1039
- )
1040
-
1041
- if response .ok :
1042
- logger .debug (f"Folder { folder_id } deleted" )
1043
- return response .content
1044
- else :
1045
- msg = "Folder could not be deleted."
1046
- logger .error (msg )
1047
- raise Exception (msg )
1063
+ return self .delete (f"{ self ._FOLDERS_URL } /{ folder_id } " )
1048
1064
1049
1065
def move_chart (self , chart_id : str , folder_id : str ) -> dict :
1050
1066
"""Moves a chart, table, or map to a specified folder.
@@ -1091,7 +1107,7 @@ def fork_chart(self, chart_id: str) -> dict:
1091
1107
"""
1092
1108
return self .post (f"{ self ._CHARTS_URL } /{ chart_id } /fork" )
1093
1109
1094
- def delete_chart (self , chart_id : str ) -> r . Response . content : # type: ignore
1110
+ def delete_chart (self , chart_id : str ) -> bool :
1095
1111
"""Deletes a specified chart, table or map.
1096
1112
1097
1113
Parameters
@@ -1101,18 +1117,10 @@ def delete_chart(self, chart_id: str) -> r.Response.content: # type: ignore
1101
1117
1102
1118
Returns
1103
1119
-------
1104
- r.Response.content
1105
- The content of the requests.delete
1120
+ bool
1121
+ True if the chart was deleted successfully.
1106
1122
"""
1107
-
1108
- delete_chart_response = r .delete (
1109
- url = self ._CHARTS_URL + f"/{ chart_id } " , headers = self ._auth_header
1110
- )
1111
- if delete_chart_response .content :
1112
- return delete_chart_response .content
1113
- else :
1114
- logger .debug (f"Successfully deleted chart with id { chart_id } " )
1115
- return None
1123
+ return self .delete (f"{ self ._CHARTS_URL } /{ chart_id } " )
1116
1124
1117
1125
def get_charts (
1118
1126
self ,
@@ -1297,7 +1305,7 @@ def update_team(
1297
1305
data = _query ,
1298
1306
)
1299
1307
1300
- def delete_team (self , team_id : str ):
1308
+ def delete_team (self , team_id : str ) -> bool :
1301
1309
"""Delete an existing team.
1302
1310
1303
1311
Parameters
@@ -1307,21 +1315,7 @@ def delete_team(self, team_id: str):
1307
1315
1308
1316
Returns
1309
1317
-------
1310
- r.Response.content
1311
- The content of the requests.delete
1318
+ bool
1319
+ True if team was deleted successfully.
1312
1320
"""
1313
- _header = self ._auth_header
1314
- _header ["accept" ] = "*/*"
1315
-
1316
- response = r .delete (
1317
- url = self ._TEAMS_URL + f"/{ team_id } " ,
1318
- headers = _header ,
1319
- )
1320
-
1321
- if response .ok :
1322
- logger .debug (f"Team { team_id } deleted" )
1323
- return response .content
1324
- else :
1325
- msg = "Team could not be deleted."
1326
- logger .error (msg )
1327
- raise Exception (msg )
1321
+ return self .delete (f"{ self ._TEAMS_URL } /{ team_id } " )
0 commit comments