Skip to content

Commit 84a3317

Browse files
committed
Merge branch 'master' of https://github.com/IQSS/dataverse-client-python into feature/pull_upstream_nested_dataverses
2 parents 48dd0ed + 5f95a11 commit 84a3317

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

dataverse/dataset.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,15 @@ def id(self):
9898
raise NoContainerError('This dataset has not been added to a Dataverse.')
9999

100100
for dataset in self.dataverse.get_contents(refresh=True):
101-
doi = '{0}:{1}/{2}'.format(
102-
dataset['protocol'],
103-
dataset['authority'],
104-
dataset['identifier'],
105-
)
106-
if doi == self.doi:
107-
self._id = dataset['id']
108-
return self._id
101+
if dataset['type'] == 'dataset':
102+
doi = '{0}:{1}/{2}'.format(
103+
dataset['protocol'],
104+
dataset['authority'],
105+
dataset['identifier'],
106+
)
107+
if doi == self.doi:
108+
self._id = dataset['id']
109+
return self._id
109110

110111
raise MetadataNotFoundError('The dataset ID could not be found.')
111112

dataverse/test/test_dataverse.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,19 @@ def test_add_dataset_from_xml(self):
292292
assert retrieved_dataset
293293
self.dataverse.delete_dataset(retrieved_dataset)
294294

295+
def test_id_property(self):
296+
alias = str(uuid.uuid1())
297+
# Creating a dataverse within a dataverse
298+
self.connection.create_dataverse(
299+
alias,
300+
'Sub Dataverse',
301+
302+
self.alias,
303+
)
304+
sub_dataverse = self.connection.get_dataverse(alias, True)
305+
assert self.dataset.id == self.dataset._id
306+
self.connection.delete_dataverse(sub_dataverse)
307+
295308
def test_add_files(self):
296309
self.dataset.upload_filepaths(EXAMPLE_FILES)
297310
actual_files = [f.name for f in self.dataset.get_files()]

readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## Dataverse API Client
22

3+
**PLEASE NOTE: This library is maintained by the Dataverse community, not IQSS.**
4+
35
This is a library for writing Python applications that make use of Dataverse
46
APIs v4.0. The intent is to publish the python client on https://pypi.python.org.
57

0 commit comments

Comments
 (0)