@@ -81,11 +81,13 @@ def __init__(self, client_id, client_secret, api_host='api.domo.com', **kwargs):
81
81
else :
82
82
self .logger = parent_logger
83
83
84
+ timeout = kwargs .get ('request_timeout' , None )
85
+
84
86
if kwargs .get ('log_level' ):
85
87
self .logger .setLevel (kwargs ['log_level' ])
86
88
self .logger .debug ("\n " + DOMO + "\n " )
87
89
88
- self .transport = DomoAPITransport (client_id , client_secret , api_host , kwargs .get ('use_https' , True ), self .logger )
90
+ self .transport = DomoAPITransport (client_id , client_secret , api_host , kwargs .get ('use_https' , True ), self .logger , request_timeout = timeout )
89
91
self .datasets = DataSetClient (self .transport , self .logger )
90
92
self .groups = GroupClient (self .transport , self .logger )
91
93
self .pages = PageClient (self .transport , self .logger )
@@ -137,7 +139,7 @@ def ds_list(self, df_output = True, per_page=50, offset=0, limit=0):
137
139
- `per_page`: results per page. Default 50 (int)
138
140
- `offset`: offset if you need to paginate results. Default 0 (int)
139
141
- `limit`: max ouput to return. If 0 then return all results on page. Default 0 (int)
140
-
142
+
141
143
:Returns:
142
144
list or pandas dataframe depending on parameters
143
145
@@ -148,7 +150,7 @@ def ds_list(self, df_output = True, per_page=50, offset=0, limit=0):
148
150
else :
149
151
out = DataFrame (list (l ))
150
152
return out
151
-
153
+
152
154
def ds_query (self , dataset_id , query , return_data = True ):
153
155
"""
154
156
Evaluate query and return dataset in a dataframe
@@ -161,7 +163,7 @@ def ds_query(self, dataset_id, query, return_data=True):
161
163
- `dataset_id`: id of a dataset (str)
162
164
- `query`: query object (dict)
163
165
- `return_data`: should the result be a dataframe. Default True (Boolean)
164
-
166
+
165
167
:Returns:
166
168
dict or pandas dataframe depending on parameters
167
169
"""
@@ -180,10 +182,10 @@ def ds_get(self, dataset_id):
180
182
181
183
:Parameters:
182
184
- `dataset_id`: id of a dataset (str)
183
-
185
+
184
186
:Returns:
185
187
pandas dataframe
186
- """
188
+ """
187
189
csv_download = self .datasets .data_export (dataset_id , include_csv_header = True )
188
190
189
191
content = StringIO (csv_download )
@@ -232,14 +234,14 @@ def pdp_create(self, dataset_id, pdp_request):
232
234
, "not": false } ], "users": [ 27 ],"groups": [ ]}
233
235
234
236
:Parameters:
235
- - `dataset_id`: id of the dataset PDP will be applied to (String) Required
237
+ - `dataset_id`: id of the dataset PDP will be applied to (String) Required
236
238
Policy Object:
237
239
- `name`: Name of the Policy (String) Required
238
- - `filters[].column`: Name of the column to filter on (String) Required
240
+ - `filters[].column`: Name of the column to filter on (String) Required
239
241
- `filters[].not`: Determines if NOT is applied to the filter operation (Boolean) Required
240
- - `filters[].operator`: Matching operator (EQUALS) (String) Required
241
- - `filters[].values[]`: Values to filter on (String) Required
242
- - `type`: Type of policy (user or system) (String) Required
242
+ - `filters[].operator`: Matching operator (EQUALS) (String) Required
243
+ - `filters[].values[]`: Values to filter on (String) Required
244
+ - `type`: Type of policy (user or system) (String) Required
243
245
- `users`: List of user IDs the policy applies to (array) Required
244
246
- `groups`: List of group IDs the policy applies to (array) Required
245
247
"""
@@ -252,7 +254,7 @@ def pdp_delete(self, dataset_id, policy_id):
252
254
>>> domo.pdp_delete('4405ff58-1957-45f0-82bd-914d989a3ea3', 35)
253
255
254
256
:Parameters:
255
- - `dataset_id`: id of the dataset PDP will be applied to (String) Required
257
+ - `dataset_id`: id of the dataset PDP will be applied to (String) Required
256
258
- `policy_id`: id of the policy to delete (String) Required
257
259
"""
258
260
return self .datasets .delete_pdp (dataset_id , policy_id )
@@ -267,7 +269,7 @@ def pdp_list(self, dataset_id, df_output = True):
267
269
:Parameters:
268
270
- `dataset_id`: id of dataset with PDP policies (str) Required
269
271
- `df_output`: should the result be a dataframe. Default True (Boolean)
270
-
272
+
271
273
:Returns:
272
274
list or pandas dataframe depending on parameters
273
275
@@ -297,15 +299,15 @@ def pdp_update(self, dataset_id, policy_id, policy_update):
297
299
, "not": false } ], "users": [ 27 ],"groups": [ ]}
298
300
299
301
:Parameters:
300
- - `dataset_id`: id of the dataset PDP will be applied to (String) Required
301
- - `policy_id`: id of the PDP pollicy that will be updated (String) Required
302
+ - `dataset_id`: id of the dataset PDP will be applied to (String) Required
303
+ - `policy_id`: id of the PDP pollicy that will be updated (String) Required
302
304
Policy Object:
303
305
- `name`: Name of the Policy (String) Required
304
- - `filters[].column`: Name of the column to filter on (String) Required
306
+ - `filters[].column`: Name of the column to filter on (String) Required
305
307
- `filters[].not`: Determines if NOT is applied to the filter operation (Boolean) Required
306
- - `filters[].operator`: Matching operator (EQUALS) (String) Required
307
- - `filters[].values[]`: Values to filter on (String) Required
308
- - `type`: Type of policy (user or system) (String) Required
308
+ - `filters[].operator`: Matching operator (EQUALS) (String) Required
309
+ - `filters[].values[]`: Values to filter on (String) Required
310
+ - `type`: Type of policy (user or system) (String) Required
309
311
- `users`: List of user IDs the policy applies to (array) Required
310
312
- `groups`: List of group IDs the policy applies to (array) Required
311
313
"""
@@ -600,7 +602,7 @@ def accounts_list(self):
600
602
- `per_page`: results per page. Default 50 (int)
601
603
- `offset`: offset if you need to paginate results. Default 0 (int)
602
604
- `limit`: max ouput to return. If 0 then return all results on page. Default 0 (int)
603
-
605
+
604
606
605
607
:returns:
606
608
- A list of dicts (with nesting possible)
0 commit comments