Grasia / dao-scripts

Scripts to get data for the DAO-Analyzer dataset
https://www.kaggle.com/datasets/daviddavo/dao-analyzer
GNU General Public License v3.0
0 stars 0 forks source link

Fix nigthly Zenodo upload #13

Closed daviddavo closed 2 months ago

daviddavo commented 4 months ago

Every night the upload fails with a bad request error (Example).

These fails started on May 15th

Which is just after zenodo_client v0.3.4 was released. [Source]

Previously I monkeypatched the api.py file, but it was just in case I uploaded a version manually and forgot to set the version number https://github.com/Grasia/dao-scripts/blob/ae0d70d154aae85a3b7c68c1500070cecd35ad86/.github/workflows/update-datasets.yml#L48-L53

daviddavo commented 4 months ago

Since version v3.0.0 they changed some things:

image

This is why the patch doesn't work

daviddavo commented 4 months ago

This is the tracelog:

Traceback (most recent call last):
Uploading to zenodo
  File "/opt/hostedtoolcache/Python/3.12.3/x64/bin/dao-utils-upload-dw", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/dao_analyzer/cache_scripts/utils/uploadDataWarehouse.py", line 137, in main
    archiveToZenodo(tmpdir, args.zenodo_max_retries)
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/dao_analyzer/cache_scripts/utils/uploadDataWarehouse.py", line 82, in archiveToZenodo
    raise e
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/dao_analyzer/cache_scripts/utils/uploadDataWarehouse.py", line 75, in archiveToZenodo
    uploadToZenodo([zpath / 'archive.zip'])
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/dao_analyzer/cache_scripts/utils/uploadDataWarehouse.py", line 64, in uploadToZenodo
    raise e
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/dao_analyzer/cache_scripts/utils/uploadDataWarehouse.py", line 55, in uploadToZenodo
    z.update(ZENODO_DEPOSITION_ID, paths)
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/zenodo_client/api.py", line 2[31](https://github.com/Grasia/dao-scripts/actions/runs/9217342059/job/25359211826#step:6:32), in update
    new_deposition_id, new_deposition_data = self._update_submitted_deposition_metadata(deposition_id, res)
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/zenodo_client/api.py", line 279, in _update_submitted_deposition_metadata
    res.raise_for_status()
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/requests/models.py", line 1024, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: BAD REQUEST for url: https://zenodo.org/api/deposit/depositions/11271085?access_token=***

When I go to my Zenodo dashboard, this is what I see:

image

I think it is a bad request because there is no publication date

daviddavo commented 4 months ago

Can't replicate the error on Zenodo Sandbox

daviddavo commented 2 months ago

Forgot to close it. The issue was with the funding, you have to use a valid funding DOI, which is only available for the ERC funding.

Temporarily removed the funding until Zotero API supports it.