kopia lustrzana https://github.com/jupyterhub/repo2docker
Attempt to fix Zenodo
Done by inspecting API responses - https://zenodo.org/api/records/3242074 - https://zenodo.org/api/records/3242074/filespull/1315/head
rodzic
de496f893b
commit
efb4cd3bbc
|
@ -24,17 +24,19 @@ class Zenodo(DoiProvider):
|
||||||
"http://sandbox.zenodo.org/record/",
|
"http://sandbox.zenodo.org/record/",
|
||||||
],
|
],
|
||||||
"api": "https://sandbox.zenodo.org/api/records/",
|
"api": "https://sandbox.zenodo.org/api/records/",
|
||||||
"filepath": "files",
|
"files": "links.files",
|
||||||
"filename": "filename",
|
"filepath": "entries",
|
||||||
"download": "links.download",
|
"filename": "key",
|
||||||
|
"download": "links.content",
|
||||||
"type": "metadata.upload_type",
|
"type": "metadata.upload_type",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hostname": ["https://zenodo.org/record/", "http://zenodo.org/record/"],
|
"hostname": ["https://zenodo.org/record/", "http://zenodo.org/record/"],
|
||||||
"api": "https://zenodo.org/api/records/",
|
"api": "https://zenodo.org/api/records/",
|
||||||
"filepath": "files",
|
"files": "links.files",
|
||||||
"filename": "filename",
|
"filepath": "entries",
|
||||||
"download": "links.download",
|
"filename": "key",
|
||||||
|
"download": "links.content",
|
||||||
"type": "metadata.upload_type",
|
"type": "metadata.upload_type",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -43,6 +45,7 @@ class Zenodo(DoiProvider):
|
||||||
"http://data.caltech.edu/records/",
|
"http://data.caltech.edu/records/",
|
||||||
],
|
],
|
||||||
"api": "https://data.caltech.edu/api/record/",
|
"api": "https://data.caltech.edu/api/record/",
|
||||||
|
"files": "",
|
||||||
"filepath": "metadata.electronic_location_and_access",
|
"filepath": "metadata.electronic_location_and_access",
|
||||||
"filename": "electronic_name.0",
|
"filename": "electronic_name.0",
|
||||||
"download": "uniform_resource_identifier",
|
"download": "uniform_resource_identifier",
|
||||||
|
@ -69,7 +72,15 @@ class Zenodo(DoiProvider):
|
||||||
f'{host["api"]}{record_id}',
|
f'{host["api"]}{record_id}',
|
||||||
headers={"accept": "application/json"},
|
headers={"accept": "application/json"},
|
||||||
)
|
)
|
||||||
|
record = resp.json()
|
||||||
|
|
||||||
|
if host["files"]:
|
||||||
|
yield f"Fetching Zenodo record {record_id} files.\n"
|
||||||
|
files_url = deep_get(record, host["files"])
|
||||||
|
resp = self.urlopen(
|
||||||
|
files_url,
|
||||||
|
headers={"accept": "application/json"},
|
||||||
|
)
|
||||||
record = resp.json()
|
record = resp.json()
|
||||||
|
|
||||||
files = deep_get(record, host["filepath"])
|
files = deep_get(record, host["filepath"])
|
||||||
|
|
Ładowanie…
Reference in New Issue