From 15dc8aa3d46a6dd59355ab400dcd96bf4858ac91 Mon Sep 17 00:00:00 2001 From: vermeul <swen@ethz.ch> Date: Thu, 7 Feb 2019 17:51:20 +0100 Subject: [PATCH] changed all send_error to self.write({ }) JSON messages. If a sample or datasSet was not found, status is set to 404. --- jupyter-openbis-extension/server.py | 77 +++++++++++++++-------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/jupyter-openbis-extension/server.py b/jupyter-openbis-extension/server.py index 086bffa..ec0ef7f 100644 --- a/jupyter-openbis-extension/server.py +++ b/jupyter-openbis-extension/server.py @@ -197,17 +197,18 @@ class SampleHandler(IPythonHandler): try: conn.reconnect() except Exception as exc: - print(exc) - self.send_error( - reason = 'connection to {} could not be established: {}'.format(conn.name, exc) - ) + self.write({ + "reason" : 'connection to {} could not be established: {}'.format(conn.name, exc) + }) sample = None try: sample = conn.openbis.get_sample(permId) except Exception as exc: - print(exc) - self.send_error( reason = 'No such sample: {}'.format(permId) ) + self.set_status(404) + self.write({ + "reason" : 'No such sample: {}'.format(permId) + }) if sample is None: return @@ -223,9 +224,11 @@ class SampleHandler(IPythonHandler): try: conn = openbis_connections[params['connection_name']] except KeyError: - self.send_error( - reason = 'connection {} was not found'.format(params['connection_name']) - ) + self.write({ + "reason" : 'connection {} was not found'.format( + params['connection_name'] + ) + }) datasets = self.get_datasets(conn, params['permId']) if datasets is not None: @@ -245,26 +248,27 @@ class DataSetDownloadHandler(IPythonHandler): try: conn.reconnect() except Exception as exc: - self.send_error( - reason = 'connection to {} could not be established: {}'.format(conn.name, exc) - ) + self.write({ + "reason" : 'connection to {} could not be established: {}'.format(conn.name, exc) + }) return try: dataset = conn.openbis.get_dataset(permId) except Exception as exc: - self.send_error( - reason = 'No such dataSet found: {}'.format(permId) - ) + self.set_status(404) + self.write({ + "reason" : 'No such dataSet found: {}'.format(permId) + }) return # dataset was found, download the data to the disk try: destination = dataset.download(destination=downloadPath) except Exception as exc: - self.send_error( - reason = 'Data for DataSet {} could not be downloaded: {}'.format(permId, exc) - ) + self.write({ + "reason": 'Data for DataSet {} could not be downloaded: {}'.format(permId, exc) + }) return # return success message @@ -286,9 +290,9 @@ class DataSetDownloadHandler(IPythonHandler): try: conn = openbis_connections[params['connection_name']] except KeyError: - self.send_error( - reason = 'connection {} was not found'.format(params['connection_name']) - ) + self.write({ + "reason":'connection {} was not found'.format(params['connection_name']) + }) return results = self.download_data(conn=conn, permId=params['permId'], downloadPath=params['downloadPath']) @@ -303,17 +307,18 @@ class DataSetUploadHandler(IPythonHandler): try: conn.reconnect() except Exception as exc: - self.send_error( - reason = 'connection to {} could not be established: {}'.format(conn.name, exc) - ) + self.write({ + "reason": 'connection to {} could not be established: {}'.format(conn.name, exc) + }) return try: sample = conn.openbis.get_sample(data.get('sampleIdentifier')) except Exception as exc: - self.send_error( - reason = 'No such sample found: {}'.format(data.get('sampleIdentifier')) - ) + self.set_status(404) + self.write({ + "reason" : 'No such sample: {}'.format(data.get('sampleIdentifier')) + }) return filenames = [] @@ -330,17 +335,17 @@ class DataSetUploadHandler(IPythonHandler): files = filenames ) except Exception as exc: - self.send_error( - reason = 'Error while creating the dataset: {}'.format(exc) - ) + self.write({ + "reason": 'Error while creating the dataset: {}'.format(exc) + }) return try: ds.save() except Exception as exc: - self.send_error( - reason = 'Error while saving the dataset: {}'.format(exc) - ) + self.write({ + "reason": 'Error while saving the dataset: {}'.format(exc) + }) return @@ -358,9 +363,9 @@ class DataSetUploadHandler(IPythonHandler): try: conn = openbis_connections[params['connection_name']] except KeyError: - self.send_error( - reason = 'connection {} was not found'.format(params['connection_name']) - ) + self.write({ + "reason": 'connection {} was not found'.format(params['connection_name']) + }) return data = self.get_json_body() -- GitLab