def GET(self, dataset_id, mode=False, query='{}', select=None, group=ALL): """ Return data set for hash *dataset_id*. Execute query *query* in mongo if passed. If summary is passed return summary statistics for data set. If group is passed group the summary, if summary is false group is ignored. """ dataset = Dataset.find_one(dataset_id) result = None try: if dataset: if mode == MODE_INFO: result = Dataset.schema(dataset) elif mode == MODE_SUMMARY: result = summarize(dataset, query, select, group) else: return mongo_to_json(Observation.find(dataset, query, select)) except JSONError, e: result = {ERROR: e.__str__()}