diff --git a/jupyter-openbis-extension/dataset.py b/jupyter-openbis-extension/dataset.py index d105181ad9c3ece30e790ccebb87b50011d94995..9a656c74d94a806a82ff8216b7dd1937f4a56d42 100644 --- a/jupyter-openbis-extension/dataset.py +++ b/jupyter-openbis-extension/dataset.py @@ -127,34 +127,45 @@ class DataSetUploadHandler(IPythonHandler): return errors = [] + print("--------------_HERE_-----------1") sample = None experiment = None - if (data.get('sampleIdentifier')): + if (data.get('entityIdentifier')): try: - sample = conn.openbis.get_sample(data.get('sampleIdentifier')) + sample = conn.openbis.get_sample(data.get('entityIdentifier')) except Exception as e: - print(e) + pass + if sample is None: + try: + experiment = conn.openbis.get_experiment(data.get('entityIdentifier')) + except Exception as e: + pass + + if sample is None and experiment is None: errors.append( - {"sampleIdentifier" : 'No such sample: {}'.format(data.get('sampleIdentifier')) } + {"entityIdentifier" : 'No such sample or experiment: {}'.format(data.get('entityIdentifier')) } ) else: errors.append( - {"sampleIdentifier": "please provide a sample identifier"} + {"entityIdentifier": "please provide a sample or experiment identifier"} ) - print("--------------_HERE_-----------1") - if (data.get('experimentIdentifier')): - try: - experiment = conn.openbis.get_experiment(data.get('experimentIdentifier')) - except Exception as e: - print(e) - errors.append( - {"experimentIdentifier" : 'No such experiment: {}'.format(data.get('experimentIdentifier')) } - ) print("--------------_HERE_-----------2") + parents = [] + if data.get('parents'): + parents = data.get('parents') + for parent in parents: + try: + conn.openbis.get_dataset(parent) + except Exception as e: + errors.append({ + "parent": "Parent DataSet not found: {}".format(parent) + }) + + print("--------------_HERE_-----------2a") filenames = [] for filename in data.get('files'): @@ -171,6 +182,7 @@ class DataSetUploadHandler(IPythonHandler): dataset = conn.openbis.new_dataset( type = data.get('type'), sample = sample, + parents = parents, experiment = experiment, files = filenames, ) @@ -226,6 +238,8 @@ class DataSetUploadHandler(IPythonHandler): 'status': 200, 'statusText': 'Jupyter Notebook was successfully uploaded to: {} with permId: {}'.format(conn.name, dataset.permId) }) + + print('Jupyter Notebook was successfully uploaded to: {} with permId: {}'.format(conn.name, dataset.permId)) print("--------------_HERE_-----------8") def post(self, **params):