Skip to content

Commit 2a2ad06

Browse files
committed
Merge pull request #27 from CenterForOpenScience/master
[feature] optional timeout for get dataset methods, flake8, fast travis builds
2 parents f84b980 + 94f2aa9 commit 2a2ad06

File tree

4 files changed

+41
-19
lines changed

4 files changed

+41
-19
lines changed

.travis.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
11
language: python
2+
23
python:
34
- 2.6
45
- 2.7
56
- 3.3
67
#- 3.4 # "No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself."
8+
9+
sudo: false
10+
11+
cache:
12+
directories:
13+
- $HOME/wheelhouse
14+
15+
env:
16+
- WHEELHOUSE=$HOME/wheelhouse/`python --version`
17+
718
install:
8-
- pip install -U .
9-
- pip install httpretty pytest flake8
19+
- pip wheel --find-links=$HOME/wheelhouse --wheel-dir=$HOME/wheelhouse . httpretty pytest flake8 ordereddict
20+
- pip install --find-links=$HOME/wheelhouse --no-index . httpretty pytest flake8 ordereddict
21+
1022
script:
1123
- flake8 .
12-
- py.test
24+
- py.test -v

dataverse/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from __future__ import absolute_import
22

33
from requests.packages import urllib3
4-
urllib3.disable_warnings()
4+
urllib3.disable_warnings() # noqa
55

6-
from dataverse.connection import Connection
7-
from dataverse.dataverse import Dataverse
8-
from dataverse.dataset import Dataset
9-
from dataverse.file import DataverseFile
6+
from dataverse.connection import Connection # noqa
7+
from dataverse.dataverse import Dataverse # noqa
8+
from dataverse.dataset import Dataset # noqa
9+
from dataverse.file import DataverseFile # noqa

dataverse/dataverse.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,14 @@ def get_contents(self, refresh=False):
6565
self._contents_json = resp.json()['data']
6666
return self._contents_json
6767

68-
def get_collection_info(self, refresh=False):
68+
def get_collection_info(self, refresh=False, timeout=None):
6969
if not refresh and self._collection_info:
7070
return self._collection_info
7171

7272
self._collection_info = requests.get(
7373
self.collection.get('href'),
7474
auth=self.connection.auth,
75+
timeout=timeout,
7576
).content
7677
return self._collection_info
7778

@@ -133,16 +134,25 @@ def delete_dataset(self, dataset):
133134
dataset.is_deleted = True
134135
self.get_collection_info(refresh=True)
135136

136-
def get_datasets(self, refresh=False):
137-
collection_info = self.get_collection_info(refresh)
137+
def get_datasets(self, refresh=False, timeout=None):
138+
collection_info = self.get_collection_info(refresh, timeout=timeout)
138139
entries = get_elements(collection_info, tag='entry')
139140
return [Dataset.from_dataverse(entry, self) for entry in entries]
140141

141-
def get_dataset_by_doi(self, doi, refresh=False):
142-
return next((s for s in self.get_datasets(refresh) if s.doi == doi), None)
142+
def get_dataset_by_doi(self, doi, refresh=False, timeout=None):
143+
return next(
144+
(s for s in self.get_datasets(refresh, timeout=timeout) if s.doi == doi),
145+
None
146+
)
143147

144-
def get_dataset_by_title(self, title, refresh=False):
145-
return next((s for s in self.get_datasets(refresh) if s.title == title), None)
148+
def get_dataset_by_title(self, title, refresh=False, timeout=None):
149+
return next(
150+
(s for s in self.get_datasets(refresh, timeout=timeout) if s.title == title),
151+
None
152+
)
146153

147-
def get_dataset_by_string_in_entry(self, string, refresh=False):
148-
return next((s for s in self.get_datasets(refresh) if string in s.get_entry()), None)
154+
def get_dataset_by_string_in_entry(self, string, refresh=False, timeout=None):
155+
return next(
156+
(s for s in self.get_datasets(refresh, timeout=timeout) if string in s.get_entry()),
157+
None
158+
)

dataverse/settings/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from __future__ import absolute_import
22

3-
from dataverse.settings.defaults import *
3+
from dataverse.settings.defaults import * # noqa
44

55
try:
6-
from dataverse.settings.local import *
6+
from dataverse.settings.local import * # noqa
77
except ImportError as error:
88
pass

0 commit comments

Comments
 (0)