kopia lustrzana https://github.com/jupyterhub/repo2docker
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.cipull/1390/head
rodzic
b854b77be5
commit
f9e3d706db
|
@ -99,7 +99,7 @@ class Dataverse(DoiProvider):
|
||||||
|
|
||||||
Raises a ValueError if we can not parse the url
|
Raises a ValueError if we can not parse the url
|
||||||
"""
|
"""
|
||||||
parsed_url= urlparse(url)
|
parsed_url = urlparse(url)
|
||||||
path = parsed_url.path
|
path = parsed_url.path
|
||||||
qs = parse_qs(parsed_url.query)
|
qs = parse_qs(parsed_url.query)
|
||||||
base_url = f"{parsed_url.scheme}://{parsed_url.netloc}"
|
base_url = f"{parsed_url.scheme}://{parsed_url.netloc}"
|
||||||
|
@ -157,10 +157,10 @@ class Dataverse(DoiProvider):
|
||||||
resp = self._request(dataset_api_url, headers={"accept": "application/json"})
|
resp = self._request(dataset_api_url, headers={"accept": "application/json"})
|
||||||
if resp.status_code == 404 and is_ambiguous:
|
if resp.status_code == 404 and is_ambiguous:
|
||||||
# It's possible this is a *file* persistent_id, not a dataset one
|
# It's possible this is a *file* persistent_id, not a dataset one
|
||||||
persistent_id = self.get_dataset_id_from_file_id(
|
persistent_id = self.get_dataset_id_from_file_id(base_url, persistent_id)
|
||||||
base_url, persistent_id
|
dataset_api_url = (
|
||||||
|
f"{base_url}/api/datasets/:persistentId?persistentId={persistent_id}"
|
||||||
)
|
)
|
||||||
dataset_api_url = f"{base_url}/api/datasets/:persistentId?persistentId={persistent_id}"
|
|
||||||
resp = self._request(
|
resp = self._request(
|
||||||
dataset_api_url, headers={"accept": "application/json"}
|
dataset_api_url, headers={"accept": "application/json"}
|
||||||
)
|
)
|
||||||
|
@ -181,7 +181,7 @@ class Dataverse(DoiProvider):
|
||||||
url = spec
|
url = spec
|
||||||
parsed_url = urlparse(url)
|
parsed_url = urlparse(url)
|
||||||
# FIXME: Support determining API URL better
|
# FIXME: Support determining API URL better
|
||||||
base_url = f'{parsed_url.scheme}://{parsed_url.netloc}'
|
base_url = f"{parsed_url.scheme}://{parsed_url.netloc}"
|
||||||
|
|
||||||
yield f"Fetching Dataverse record {url}.\n"
|
yield f"Fetching Dataverse record {url}.\n"
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ import pytest
|
||||||
|
|
||||||
from repo2docker.contentproviders import Dataverse
|
from repo2docker.contentproviders import Dataverse
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("doi", "resolved"),
|
("doi", "resolved"),
|
||||||
[
|
[
|
||||||
|
@ -45,22 +46,22 @@ def test_detect(doi, resolved):
|
||||||
(
|
(
|
||||||
"https://dataverse.harvard.edu/file.xhtml?persistentId=doi:10.7910/DVN/6ZXAGT/3YRRYJ",
|
"https://dataverse.harvard.edu/file.xhtml?persistentId=doi:10.7910/DVN/6ZXAGT/3YRRYJ",
|
||||||
"doi:10.7910/DVN/6ZXAGT",
|
"doi:10.7910/DVN/6ZXAGT",
|
||||||
False
|
False,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/TJCLKP",
|
"https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/TJCLKP",
|
||||||
"doi:10.7910/DVN/TJCLKP",
|
"doi:10.7910/DVN/TJCLKP",
|
||||||
True
|
True,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"https://dataverse.harvard.edu/api/access/datafile/3323458",
|
"https://dataverse.harvard.edu/api/access/datafile/3323458",
|
||||||
"doi:10.7910/DVN/3MJ7IR",
|
"doi:10.7910/DVN/3MJ7IR",
|
||||||
False
|
False,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"https://data.cimmyt.org/dataset.xhtml?persistentId=hdl:11529/10016",
|
"https://data.cimmyt.org/dataset.xhtml?persistentId=hdl:11529/10016",
|
||||||
"hdl:11529/10016",
|
"hdl:11529/10016",
|
||||||
False
|
False,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
Ładowanie…
Reference in New Issue