Skip to content

Commit a3ced06

Browse files
committed
Get tests to pass in Python 3
1 parent 096c496 commit a3ced06

File tree

6 files changed

+34
-26
lines changed

6 files changed

+34
-26
lines changed

dataverse/connection.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from lxml import etree
22
import requests
33

4-
from dataverse import Dataverse
5-
import exceptions
6-
from utils import get_elements
4+
from .dataverse import Dataverse
5+
from . import exceptions
6+
from .utils import get_elements
77

88

99
class Connection(object):

dataverse/dataset.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
import os
22
import json
3-
import StringIO
3+
4+
try:
5+
from StringIO import StringIO
6+
except ImportError:
7+
from io import BytesIO as StringIO
8+
49
from zipfile import ZipFile
510

611
from lxml import etree
712
import requests
813

9-
from exceptions import (
14+
from .exceptions import (
1015
NoContainerError, OperationFailedError, UnpublishedDataverseError,
1116
ConnectionError, MetadataNotFoundError, VersionJsonNotFoundError,
1217
)
13-
from file import DataverseFile
14-
from settings import SWORD_BOOTSTRAP
15-
from utils import get_element, get_files_in_path, add_field
18+
from .file import DataverseFile
19+
from .settings import SWORD_BOOTSTRAP
20+
from .utils import get_element, get_files_in_path, add_field
1621

1722

1823
class Dataset(object):
@@ -35,7 +40,8 @@ def __init__(self, entry=SWORD_BOOTSTRAP, dataverse=None, edit_uri=None,
3540
self._id = None
3641

3742
# Updates sword entry from keyword arguments
38-
for key, value in kwargs.iteritems():
43+
for key in kwargs:
44+
value = kwargs[key]
3945
if isinstance(value, list):
4046
for item in value:
4147
add_field(self._entry, key, item, 'dcterms')
@@ -271,7 +277,7 @@ def upload_filepaths(self, filepaths):
271277
filepaths = get_files_in_path(filepaths[0])
272278

273279
# Zip up files
274-
s = StringIO.StringIO()
280+
s = StringIO()
275281
zip_file = ZipFile(s, 'w')
276282
for filepath in filepaths:
277283
zip_file.write(filepath)
@@ -282,7 +288,7 @@ def upload_filepaths(self, filepaths):
282288

283289
def upload_file(self, filename, content, zip_files=True):
284290
if zip_files:
285-
s = StringIO.StringIO()
291+
s = StringIO()
286292
zip_file = ZipFile(s, 'w')
287293
zip_file.writestr(filename, content)
288294
zip_file.close()

dataverse/dataverse.py

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

3-
from dataset import Dataset
4-
from exceptions import (
3+
from .dataset import Dataset
4+
from .exceptions import (
55
ConnectionError, MethodNotAllowedError, OperationFailedError,
66
)
7-
from utils import get_element, get_elements, sanitize
7+
from .utils import get_element, get_elements, sanitize
88

99

1010
class Dataverse(object):

dataverse/file.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from utils import sanitize
1+
from .utils import sanitize
22

33

44
class DataverseFile(object):

dataverse/test/test_dataverse.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
from __future__ import print_function
2+
13
import pytest
24

35
import uuid
46
import httpretty
57

6-
from dataverse.connection import Connection
7-
from dataverse.dataset import Dataset
8-
from dataverse.settings import TEST_HOST, TEST_TOKEN
9-
from dataverse.test.config import PICS_OF_CATS_DATASET, ATOM_DATASET, EXAMPLE_FILES
10-
from dataverse import exceptions
11-
from dataverse import utils
8+
from ..connection import Connection
9+
from ..dataset import Dataset
10+
from ..settings import TEST_HOST, TEST_TOKEN
11+
from ..test.config import PICS_OF_CATS_DATASET, ATOM_DATASET, EXAMPLE_FILES
12+
from .. import exceptions
13+
from .. import utils
1214

1315
import logging
1416
logging.basicConfig(level=logging.ERROR)
@@ -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

dataverse/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from lxml import etree
44
import bleach
55

6-
from settings import SWORD_NAMESPACE, REPLACEMENT_DICT, UNIQUE_FIELDS
6+
from .settings import SWORD_NAMESPACE, REPLACEMENT_DICT, UNIQUE_FIELDS
77

88

99
# factor out xpath operations so we don't have to look at its ugliness
@@ -15,7 +15,7 @@ def get_element(root, tag='*', namespace=None, attribute=None, attribute_value=N
1515
def get_elements(root, tag='*', namespace=None, attribute=None, attribute_value=None):
1616

1717
# If string, convert to etree element
18-
if isinstance(root, str):
18+
if isinstance(root, (str, bytes)):
1919
root = etree.XML(root)
2020

2121
namespace = root.nsmap.get(namespace, namespace)

0 commit comments

Comments
 (0)