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/",
|
||||
],
|
||||
"api": "https://sandbox.zenodo.org/api/records/",
|
||||
"filepath": "files",
|
||||
"filename": "filename",
|
||||
"download": "links.download",
|
||||
"files": "links.files",
|
||||
"filepath": "entries",
|
||||
"filename": "key",
|
||||
"download": "links.content",
|
||||
"type": "metadata.upload_type",
|
||||
},
|
||||
{
|
||||
"hostname": ["https://zenodo.org/record/", "http://zenodo.org/record/"],
|
||||
"api": "https://zenodo.org/api/records/",
|
||||
"filepath": "files",
|
||||
"filename": "filename",
|
||||
"download": "links.download",
|
||||
"files": "links.files",
|
||||
"filepath": "entries",
|
||||
"filename": "key",
|
||||
"download": "links.content",
|
||||
"type": "metadata.upload_type",
|
||||
},
|
||||
{
|
||||
|
@ -43,6 +45,7 @@ class Zenodo(DoiProvider):
|
|||
"http://data.caltech.edu/records/",
|
||||
],
|
||||
"api": "https://data.caltech.edu/api/record/",
|
||||
"files": "",
|
||||
"filepath": "metadata.electronic_location_and_access",
|
||||
"filename": "electronic_name.0",
|
||||
"download": "uniform_resource_identifier",
|
||||
|
@ -69,9 +72,17 @@ class Zenodo(DoiProvider):
|
|||
f'{host["api"]}{record_id}',
|
||||
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()
|
||||
|
||||
files = deep_get(record, host["filepath"])
|
||||
only_one_file = len(files) == 1
|
||||
for file_ref in files:
|
||||
|
|
Ładowanie…
Reference in New Issue