Skip to content

Commit 18e0e1a

Browse files
committed
Fix language to reflect Dataverse 4.0
1 parent f831d46 commit 18e0e1a

7 files changed

Lines changed: 101 additions & 101 deletions

File tree

dataverse/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from connection import Connection
22
from dataverse import Dataverse
3-
from study import Study
3+
from dataset import Dataset
44
from file import DataverseFile
55

66
from utils import DataverseException
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
)
1414

1515

16-
class Study(object):
16+
class Dataset(object):
1717
def __init__(self, entry=SWORD_BOOTSTRAP, dataverse=None, edit_uri=None,
1818
edit_media_uri=None, statement_uri=None, **kwargs):
1919
"""
@@ -104,7 +104,7 @@ def get_statement(self, refresh=False):
104104
return self._statement
105105

106106
if not self.connection:
107-
raise DataverseException('This study has not been added to a Dataverse.')
107+
raise DataverseException('This dataset has not been added to a Dataverse.')
108108

109109
if not self.statement_uri:
110110
# Try to find statement uri without a request to the server
@@ -144,31 +144,31 @@ def get_state(self, refresh=False):
144144
).text
145145
return self._state
146146

147-
def get_file(self, file_name, released=False):
147+
def get_file(self, file_name, published=False):
148148

149-
# Search released study if specified; otherwise, search draft
150-
files = self.get_released_files() if released else self.get_files()
149+
# Search published dataset if specified; otherwise, search draft
150+
files = self.get_published_files() if published else self.get_files()
151151
return next((f for f in files if f.name == file_name), None)
152152

153-
def get_file_by_id(self, file_id, released=False):
153+
def get_file_by_id(self, file_id, published=False):
154154

155-
# Search released study if specified; otherwise, search draft
156-
files = self.get_released_files() if released else self.get_files()
155+
# Search published dataset if specified; otherwise, search draft
156+
files = self.get_published_files() if published else self.get_files()
157157
return next((f for f in files if f.id == file_id), None)
158158

159-
def get_files(self, released=False, refresh=True):
160-
if released:
161-
return self.get_released_files()
159+
def get_files(self, published=False, refresh=True):
160+
if published:
161+
return self.get_published_files()
162162

163163
return [
164164
DataverseFile.from_statement(resource, self)
165165
for resource in get_elements(self.get_statement(refresh), 'entry')
166166
]
167167

168-
def get_released_files(self):
168+
def get_published_files(self):
169169
"""
170170
Uses data sharing API to retrieve a list of files from the most
171-
recently released version of the study
171+
recently published version of the dataset
172172
"""
173173
metadata_url = 'https://{0}/dvn/api/metadata/{1}'.format(
174174
self.connection.host, self.doi
@@ -220,23 +220,23 @@ def upload_file(self, filename, content, zip=True):
220220

221221
self._refresh()
222222

223-
def release(self):
223+
def publish(self):
224224
resp = requests.post(
225225
self.edit_uri,
226226
headers={'In-Progress': 'false', 'Content-Length': 0},
227227
auth=self.connection.auth,
228228
)
229229

230230
if resp.status_code != 200:
231-
raise DataverseException('The Dataverse could not be released.')
231+
raise DataverseException('The Dataverse could not be published.')
232232

233233
receipt = resp.content
234234
self._refresh(receipt=receipt)
235235

236236
def delete_file(self, dataverse_file):
237-
if dataverse_file.is_released:
237+
if dataverse_file.is_published:
238238
raise DataverseException(
239-
'Released versions of files cannot be deleted.'
239+
'Published versions of files cannot be deleted.'
240240
)
241241

242242
resp = requests.delete(
@@ -261,7 +261,7 @@ def delete_all_files(self):
261261
# )
262262
# self._refresh(deposit_receipt=depositReceipt)
263263

264-
# if we perform a server operation, we should refresh the study object
264+
# if we perform a server operation, we should refresh the dataset object
265265
def _refresh(self, receipt=None):
266266
if receipt:
267267
self.edit_uri = get_element(

dataverse/dataverse.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import requests
22

3-
from study import Study
3+
from dataset import Dataset
44
from utils import get_element, get_elements, DataverseException, sanitize
55

66

@@ -10,7 +10,7 @@ def __init__(self, connection, collection):
1010
self.collection = collection
1111

1212
@property
13-
def is_released(self):
13+
def is_published(self):
1414

1515
collection_info = requests.get(
1616
self.collection.get('href'),
@@ -38,7 +38,7 @@ def title(self):
3838
tag='title',
3939
).text)
4040

41-
def release(self):
41+
def publish(self):
4242
edit_uri = 'https://{0}/dvn/api/data-deposit/v1.1/swordv2/edit/dataverse/{1}'.format(
4343
self.connection.host, self.alias
4444
)
@@ -49,45 +49,45 @@ def release(self):
4949
)
5050

5151
if resp.status_code != 200:
52-
raise DataverseException('The Dataverse could not be released.')
52+
raise DataverseException('The Dataverse could not be published.')
5353

54-
def add_study(self, study):
54+
def add_dataset(self, dataset):
5555

56-
if get_element(study._entry, 'title', 'dcterms') is None:
57-
raise DataverseException('This study must have a title.')
58-
if get_element(study._entry, 'description', 'dcterms') is None:
59-
raise DataverseException('This study must have a description.')
60-
if get_element(study._entry, 'creator', 'dcterms') is None:
61-
raise DataverseException('This study must have an author.')
56+
if get_element(dataset._entry, 'title', 'dcterms') is None:
57+
raise DataverseException('This dataset must have a title.')
58+
if get_element(dataset._entry, 'description', 'dcterms') is None:
59+
raise DataverseException('This dataset must have a description.')
60+
if get_element(dataset._entry, 'creator', 'dcterms') is None:
61+
raise DataverseException('This dataset must have an author.')
6262

6363
resp = requests.post(
6464
self.collection.get('href'),
65-
data=study.get_entry(),
65+
data=dataset.get_entry(),
6666
headers={'Content-type': 'application/atom+xml'},
6767
auth=self.connection.auth,
6868
)
6969

7070
if resp.status_code != 201:
71-
raise DataverseException('This study could not be added.')
71+
raise DataverseException('This dataset could not be added.')
7272

73-
study.dataverse = self
74-
study._refresh(receipt=resp.content)
73+
dataset.dataverse = self
74+
dataset._refresh(receipt=resp.content)
7575

76-
def delete_study(self, study):
76+
def delete_dataset(self, dataset):
7777

78-
if study._state == 'DELETED' or study._state == 'DEACCESSIONED':
79-
raise DataverseException('This study has already been deleted.')
78+
if dataset._state == 'DELETED' or dataset._state == 'DEACCESSIONED':
79+
raise DataverseException('This dataset has already been deleted.')
8080

8181
resp = requests.delete(
82-
study.edit_uri,
82+
dataset.edit_uri,
8383
auth=self.connection.auth,
8484
)
8585
if resp.status_code == 405:
86-
raise DataverseException('Released studies can only be deleted '
86+
raise DataverseException('Published studies can only be deleted '
8787
'from the GUI. For more information, please refer to '
8888
'https://github.com/IQSS/dataverse/issues/778')
8989

90-
study._state = 'DEACCESSIONED'
90+
dataset._state = 'DEACCESSIONED'
9191

9292
def get_studies(self):
9393

@@ -97,13 +97,13 @@ def get_studies(self):
9797
).content
9898

9999
entries = get_elements(collection_info, tag='entry')
100-
return [Study.from_dataverse(entry, self) for entry in entries]
100+
return [Dataset.from_dataverse(entry, self) for entry in entries]
101101

102-
def get_study_by_doi(self, doi):
102+
def get_dataset_by_doi(self, doi):
103103
return next((s for s in self.get_studies() if s.doi == doi), None)
104104

105-
def get_study_by_title(self, title):
105+
def get_dataset_by_title(self, title):
106106
return next((s for s in self.get_studies() if s.title == title), None)
107107

108-
def get_study_by_string_in_entry(self, string):
108+
def get_dataset_by_string_in_entry(self, string):
109109
return next((s for s in self.get_studies() if string in s.get_entry()), None)

dataverse/file.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55

66
class DataverseFile(object):
7-
def __init__(self, name, study, edit_media_uri=None, download_url=None):
7+
def __init__(self, name, dataset, edit_media_uri=None, download_url=None):
88
self.name = sanitize(name)
9-
self.study = study
9+
self.dataset = dataset
1010

1111
if edit_media_uri:
12-
self.is_released = False
12+
self.is_published = False
1313
self.edit_media_uri = edit_media_uri
1414
self.id = edit_media_uri.split('/')[-2]
1515
host = urlparse.urlparse(edit_media_uri).netloc
1616
self.download_url = 'http://{0}/api/access/datafile/{1}'.format(
1717
host, self.id
1818
)
1919
elif download_url:
20-
self.is_released = True
20+
self.is_published = True
2121
self.download_url = download_url
2222
self.id = download_url.split('=')[-1]
2323
else:
@@ -36,17 +36,17 @@ def __repr__(self):
3636
self.name,
3737
self.id,
3838
self.download_url,
39-
'RELEASED' if self.is_released else 'DRAFT',
39+
'PUBLISHED' if self.is_published else 'DRAFT',
4040
)
4141

4242
@classmethod
43-
def from_statement(cls, element, study):
43+
def from_statement(cls, element, dataset):
4444
edit_media_uri = get_element(element, 'content').get('src')
4545
name = edit_media_uri.rsplit("/")[-1]
46-
return cls(name, study, edit_media_uri=edit_media_uri)
46+
return cls(name, dataset, edit_media_uri=edit_media_uri)
4747

4848
@classmethod
49-
def from_metadata(cls, element, study):
49+
def from_metadata(cls, element, dataset):
5050
name = element[0].text
5151
download_url = element.attrib.get('URI')
52-
return cls(name, study, download_url=download_url)
52+
return cls(name, dataset, download_url=download_url)

dataverse/test/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
PICS_OF_CATS_STUDY = {
1+
PICS_OF_CATS_DATASET = {
22
"id": "1",
33
"title": "This Study is about Pictures of Cats",
44
"author": "Peter Bull",
55
"description": "In this study we prove there can be pictures of cats.",
66
}
77

8-
ATOM_STUDY = "../resources/atom-entry-study.xml"
8+
ATOM_DATASET = "../resources/atom-entry-study.xml"
99

0 commit comments

Comments
 (0)