diff --git a/.travis.yml b/.travis.yml index affe6f5..06869cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,17 @@ sudo: false + language: python + python: - - "2.7" + - 2.7 + - 3.4 + install: - pip install -r requirements.txt --use-mirrors - - pip install rednose - - pip install nose - - pip install mock -script: nosetests + - pip install -r requirements-dev.txt --use-mirrors + +script: python $(which nosetests) + after_success: - pip install coveralls - coveralls diff --git a/pbclient/__init__.py b/pbclient/__init__.py index 1a1bf36..9c96c08 100644 --- a/pbclient/__init__.py +++ b/pbclient/__init__.py @@ -12,6 +12,8 @@ import requests import json +import six + OFFSET_WARNING = """ INFO: you can use keyset pagination to get faster responses from the server. @@ -50,7 +52,8 @@ def _pybossa_req(method, domain, id=None, payload=None, params={}): elif method == 'delete': r = requests.delete(url, params=params, headers=headers, data=json.dumps(payload)) - if r.status_code / 100 == 2: + + if r.status_code // 100 == 2: # PEP 238: Use the // floor division operator if r.text and r.text != '""': return json.loads(r.text) else: @@ -152,7 +155,7 @@ def get_projects(limit=100, offset=0, last_id=None): if last_id is not None: params = dict(limit=limit, last_id=last_id) else: - print OFFSET_WARNING + six.print_(OFFSET_WARNING) params = dict(limit=limit, offset=offset) try: res = _pybossa_req('get', 'project', @@ -283,7 +286,7 @@ def get_categories(limit=20, offset=0, last_id=None): params = dict(limit=limit, last_id=last_id) else: params = dict(limit=limit, offset=offset) - print OFFSET_WARNING + six.print_(OFFSET_WARNING) try: res = _pybossa_req('get', 'category', params=params) @@ -410,7 +413,7 @@ def get_tasks(project_id, limit=100, offset=0, last_id=None): params = dict(limit=limit, last_id=last_id) else: params = dict(limit=limit, offset=offset) - print OFFSET_WARNING + six.print_(OFFSET_WARNING) params['project_id'] = project_id try: res = _pybossa_req('get', 'task', @@ -536,7 +539,7 @@ def get_taskruns(project_id, limit=100, offset=0, last_id=None): params = dict(limit=limit, last_id=last_id) else: params = dict(limit=limit, offset=offset) - print OFFSET_WARNING + six.print_(OFFSET_WARNING) params['project_id'] = project_id try: res = _pybossa_req('get', 'taskrun', @@ -587,7 +590,8 @@ def delete_taskrun(taskrun_id): def _forbidden_attributes(obj): """Return the object without the forbidden attributes.""" - for key in obj.data.keys(): - if key in obj.reserved_keys.keys(): + + for key in list(six.iterkeys(obj.data)): + if key in list(six.iterkeys(obj.reserved_keys)): obj.data.pop(key) return obj diff --git a/requirements.txt b/requirements.txt index aae0340..780f9d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ requests>=0.13.0 +six