Skip to content

Commit 676137c

Browse files
committed
Remove depricated route for getting published files
1 parent c8075f3 commit 676137c

2 files changed

Lines changed: 7 additions & 19 deletions

File tree

dataverse/dataset.py

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -146,32 +146,20 @@ def get_state(self, refresh=False):
146146
return self._state
147147

148148
def get_file(self, file_name, published=False):
149-
# Search published dataset if specified; otherwise, search draft
150-
files = self.get_published_files() if published else self.get_files()
149+
files = self.get_files(published)
151150
return next((f for f in files if f.name == file_name), None)
152151

153152
def get_file_by_id(self, file_id, published=False):
154-
# Search published dataset if specified; otherwise, search draft
155-
files = self.get_published_files() if published else self.get_files()
153+
files = self.get_files(published)
156154
return next((f for f in files if f.id == file_id), None)
157155

158156
def get_files(self, published=False, refresh=True):
159-
if published:
160-
return self.get_published_files()
161-
162-
elements = get_elements(self.get_statement(refresh), 'entry')
157+
if self.get_state(refresh) == 'DRAFT' and published:
158+
return []
159+
elements = get_elements(self.get_statement(), 'entry')
163160
return [DataverseFile.from_statement(element, self)
164161
for element in elements]
165162

166-
def get_published_files(self):
167-
metadata_url = 'https://{0}/dvn/api/metadata/{1}'.format(
168-
self.connection.host, self.doi
169-
)
170-
xml = requests.get(metadata_url, auth=self.connection.auth).content
171-
elements = get_elements(xml, tag='otherMat')
172-
return [DataverseFile.from_metadata(element, self)
173-
for element in elements]
174-
175163
def add_file(self, filepath):
176164
self.add_files([filepath])
177165

dataverse/file.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self, name, dataset, edit_media_uri=None, download_url=None):
2020
elif download_url:
2121
self.is_published = True
2222
self.download_url = download_url
23-
self.id = download_url.split('=')[-1]
23+
self.id = download_url.rsplit('=', 1)[-1]
2424
else:
2525
raise InsufficientMetadataError(
2626
'Files must have an edit media uri or download url.'
@@ -29,7 +29,7 @@ def __init__(self, name, dataset, edit_media_uri=None, download_url=None):
2929
@classmethod
3030
def from_statement(cls, element, dataset):
3131
edit_media_uri = get_element(element, 'content').get('src')
32-
name = edit_media_uri.rsplit("/")[-1]
32+
name = edit_media_uri.rsplit("/", 1)[-1]
3333
return cls(name, dataset, edit_media_uri=edit_media_uri)
3434

3535
@classmethod

0 commit comments

Comments
 (0)