diff --git a/pydomo/DomoAPIClient.py b/pydomo/DomoAPIClient.py index 5cdf394..25cbcdd 100644 --- a/pydomo/DomoAPIClient.py +++ b/pydomo/DomoAPIClient.py @@ -21,7 +21,8 @@ def _create(self, url, request, params, obj_desc): else: self.logger.debug("Error creating " + obj_desc + ": " + self.transport.dump_response(response)) - raise Exception("Error creating " + obj_desc + ": " + response.text) + raise Exception("Error creating " + obj_desc + ": " + + response.text) def _get(self, url, obj_desc): response = self.transport.get(url=url, params={}) @@ -60,6 +61,15 @@ def _list(self, url, params, obj_desc): + self.transport.dump_response(response)) raise Exception(obj_desc + " Error: " + response.text) + def _query(self, url, request, params, obj_desc): + response = self.transport.post(url=url, params=params, body=request) + if response.status_code == requests.codes.OK: + return response.json() + else: + self.logger.debug("Error querying " + obj_desc + ": " + + self.transport.dump_response(response)) + raise Exception("Error querying " + obj_desc + ": " + response.text) + def _delete(self, url, obj_desc): response = self.transport.delete(url=url) if response.status_code == requests.codes.NO_CONTENT: diff --git a/pydomo/datasets/DataSetClient.py b/pydomo/datasets/DataSetClient.py index c912c0a..9f14d82 100644 --- a/pydomo/datasets/DataSetClient.py +++ b/pydomo/datasets/DataSetClient.py @@ -144,6 +144,14 @@ def delete(self, dataset_id): base=URL_BASE, dataset_id=dataset_id) return self._delete(url, DATA_SET_DESC) + """ + Query a DataSet + """ + def query(self, dataset_id, dataset_query): + url = '{base}/query/execute/{dataset_id}'.format( + base=URL_BASE, dataset_id=dataset_id) + return self._query(url, dataset_query, {}, DATA_SET_DESC) + """ Create a Personalized Data Policy (PDP) """