Skip to content

Commit e09eb9c

Browse files
committed
Merge pull request #20 from astrofrog/python3
Get tests to pass in Python 3
2 parents 096c496 + e053bef commit e09eb9c

File tree

11 files changed

+55
-26
lines changed

11 files changed

+55
-26
lines changed

dataverse/__init__.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
from __future__ import absolute_import
2+
13
from requests.packages import urllib3
24
urllib3.disable_warnings()
35

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

dataverse/connection.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
from __future__ import absolute_import
2+
13
from lxml import etree
24
import requests
35

4-
from dataverse import Dataverse
5-
import exceptions
6-
from utils import get_elements
6+
from dataverse.dataverse import Dataverse
7+
from dataverse import exceptions
8+
from dataverse.utils import get_elements
79

810

911
class Connection(object):

dataverse/dataset.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1+
from __future__ import absolute_import
2+
13
import os
24
import json
3-
import StringIO
5+
6+
try:
7+
from StringIO import StringIO
8+
except ImportError:
9+
from io import BytesIO as StringIO
10+
411
from zipfile import ZipFile
512

613
from lxml import etree
714
import requests
815

9-
from exceptions import (
16+
from .exceptions import (
1017
NoContainerError, OperationFailedError, UnpublishedDataverseError,
1118
ConnectionError, MetadataNotFoundError, VersionJsonNotFoundError,
1219
)
13-
from file import DataverseFile
14-
from settings import SWORD_BOOTSTRAP
15-
from utils import get_element, get_files_in_path, add_field
20+
from dataverse.file import DataverseFile
21+
from dataverse.settings import SWORD_BOOTSTRAP
22+
from dataverse.utils import get_element, get_files_in_path, add_field
1623

1724

1825
class Dataset(object):
@@ -35,7 +42,8 @@ def __init__(self, entry=SWORD_BOOTSTRAP, dataverse=None, edit_uri=None,
3542
self._id = None
3643

3744
# Updates sword entry from keyword arguments
38-
for key, value in kwargs.iteritems():
45+
for key in kwargs:
46+
value = kwargs[key]
3947
if isinstance(value, list):
4048
for item in value:
4149
add_field(self._entry, key, item, 'dcterms')
@@ -271,7 +279,7 @@ def upload_filepaths(self, filepaths):
271279
filepaths = get_files_in_path(filepaths[0])
272280

273281
# Zip up files
274-
s = StringIO.StringIO()
282+
s = StringIO()
275283
zip_file = ZipFile(s, 'w')
276284
for filepath in filepaths:
277285
zip_file.write(filepath)
@@ -282,7 +290,7 @@ def upload_filepaths(self, filepaths):
282290

283291
def upload_file(self, filename, content, zip_files=True):
284292
if zip_files:
285-
s = StringIO.StringIO()
293+
s = StringIO()
286294
zip_file = ZipFile(s, 'w')
287295
zip_file.writestr(filename, content)
288296
zip_file.close()

dataverse/dataverse.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
from __future__ import absolute_import
2+
13
import requests
24

3-
from dataset import Dataset
4-
from exceptions import (
5+
from dataverse.dataset import Dataset
6+
from dataverse.exceptions import (
57
ConnectionError, MethodNotAllowedError, OperationFailedError,
68
)
7-
from utils import get_element, get_elements, sanitize
9+
from dataverse.utils import get_element, get_elements, sanitize
810

911

1012
class Dataverse(object):

dataverse/exceptions.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import absolute_import
2+
13
class DataverseError(Exception):
24
"""Base exception class for Dataverse-related error."""
35
pass

dataverse/file.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
from utils import sanitize
1+
from __future__ import absolute_import
2+
3+
from dataverse.utils import sanitize
24

35

46
class DataverseFile(object):

dataverse/settings/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
from .defaults import *
1+
from __future__ import absolute_import
2+
3+
from dataverse.settings.defaults import *
24

35
try:
4-
from .local import *
6+
from dataverse.settings.local import *
57
except ImportError as error:
68
pass

dataverse/settings/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import absolute_import
2+
13
import os
24

35
TEST_HOST = 'apitest.dataverse.org'

dataverse/test/config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
from __future__ import absolute_import
2+
13
import os
4+
25
from dataverse.settings import BASE_PATH
36

47
PICS_OF_CATS_DATASET = {

dataverse/test/test_dataverse.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import print_function, absolute_import
2+
13
import pytest
24

35
import uuid
@@ -195,10 +197,10 @@ class TestDatasetOperations(object):
195197

196198
@classmethod
197199
def setup_class(cls):
198-
print 'Connecting to Dataverse host at {0}'.format(TEST_HOST)
200+
print('Connecting to Dataverse host at {0}'.format(TEST_HOST))
199201
cls.connection = Connection(TEST_HOST, TEST_TOKEN)
200202

201-
print 'Creating test Dataverse'
203+
print('Creating test Dataverse')
202204
cls.alias = str(uuid.uuid1())
203205
cls.connection.create_dataverse(
204206
cls.alias,
@@ -211,7 +213,7 @@ def setup_class(cls):
211213
@classmethod
212214
def teardown_class(cls):
213215

214-
print 'Removing test Dataverse'
216+
print('Removing test Dataverse')
215217
cls.connection.delete_dataverse(cls.dataverse)
216218
dataverse = cls.connection.get_dataverse(cls.alias, True)
217219
assert dataverse is None

0 commit comments

Comments
 (0)