whole-tale / girder_wholetale

Girder plugin providing basic Whole Tale functionality
BSD 3-Clause "New" or "Revised" License
3 stars 5 forks source link

DataMap treated as dict causes Zenodo import to fail #547

Closed craig-willis closed 2 years ago

craig-willis commented 2 years ago

Problem:

While testing https://github.com/whole-tale/ngx-dashboard/pull/281, I encountered the following error when trying to import a Zenodo tale:

{
  "message": "AttributeError: AttributeError(\"'dict' object has no attribute 'dataId'\")",
  "trace": [
    "<FrameSummary file /girder/girder/api/rest.py, line 630 in endpointDecorator>",
    "<FrameSummary file /girder/girder/api/rest.py, line 1230 in POST>",
    "<FrameSummary file /girder/girder/api/rest.py, line 970 in handleRoute>",
    "<FrameSummary file /girder/girder/api/access.py, line 63 in wrapped>",
    "<FrameSummary file /girder/girder/api/rest.py, line 445 in wrapped>",
    "<FrameSummary file /girder/girder/api/describe.py, line 709 in wrapped>",
    "<FrameSummary file /girder/plugins/wholetale/server/rest/tale.py, line 269 in createTaleFromUrl>",
    "<FrameSummary file /girder/plugins/wholetale/server/lib/zenodo/provider.py, line 79 in import_tale>"
  ],
  "type": "internal"
}

Test steps:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Girder-Token: TOKEN' 'https://girder.local.wholetale.org/api/v1/tale/import?url=https%3A%2F%2Fsandbox.zenodo.org%2Frecord%2F1059441&spawn=true&asTale=false&git=false&lookupKwargs=%7B%7D&taleKwargs=%7B%22title%22%3A%22Seal%20telemetry%20data%20analysis%20example_ver_1%22%7D'