pyDataverse icon indicating copy to clipboard operation
pyDataverse copied to clipboard

Error when using edit_dataset_metadata: `multiple values for keyword argument 'json'`

Open vera opened this issue 11 months ago • 2 comments

When using edit_dataset_metadata, I get the following error:

    edit_res = dataverse_api.edit_dataset_metadata(resource_id, json.dumps(metadata))
  File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/pyDataverse/api.py", line 1548, in edit_dataset_metadata
    resp = self.put_request(url, metadata, auth, params)
  File "/home/clemens/Documents/csh-ui/backend/.venv/lib/python3.10/site-packages/pyDataverse/api.py", line 326, in put_request
    return self._sync_request(
TypeError: pyDataverse.api.Api._sync_request() got multiple values for keyword argument 'json'

Here's my code:

    dataverse_api = NativeApi(DATAVERSE_URL, DATAVERSE_API_TOKEN)
    metadata = {"fields": [{"typeName": "testField", "value": "testValue"}]}
    edit_res = dataverse_api.edit_dataset_metadata(resource_id, json.dumps(metadata))

Not sure if it's a bug or user error. Using pyDataverse v0.3.4

vera avatar Jan 15 '25 15:01 vera

@vera, thank you for reporting the issue! This is definitely a bug, and I have already resolved it in a separate branch. I’m currently adding tests to ensure it gets checked in the future. I will inform you here once the fix is live.

JR-1991 avatar Jan 16 '25 12:01 JR-1991

Thanks, that's great!

vera avatar Jan 16 '25 12:01 vera