From 5070746b0de998b3f932087514ebd6f79559723b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Mon, 7 Oct 2019 22:11:42 +0200 Subject: [PATCH] cmis: upgrade cmislib 0.6 (#18407) --- debian/control | 2 +- functests/cmis/requirements.txt | 2 +- passerelle/apps/cmis/models.py | 12 +++++++----- setup.py | 2 +- tests/test_cmis.py | 11 +++++++---- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/debian/control b/debian/control index ad2d90e7..312ccc82 100644 --- a/debian/control +++ b/debian/control @@ -23,7 +23,7 @@ Depends: ${python:Depends}, python-setuptools, python-django-jsonfield, python-suds, - python-cmislib (>= 0.5), python-cmislib (< 0.6), + python-cmislib, python-lxml, python-dateutil, python-pyproj, diff --git a/functests/cmis/requirements.txt b/functests/cmis/requirements.txt index 49598540..5ce3a048 100644 --- a/functests/cmis/requirements.txt +++ b/functests/cmis/requirements.txt @@ -1,3 +1,3 @@ -cmislib<0.6.0 +cmislib pytest requests diff --git a/passerelle/apps/cmis/models.py b/passerelle/apps/cmis/models.py index 23ca5576..afbfb665 100644 --- a/passerelle/apps/cmis/models.py +++ b/passerelle/apps/cmis/models.py @@ -16,6 +16,7 @@ import base64 import functools +import httplib2 import json import re import urllib2 @@ -25,8 +26,10 @@ except ImportError: import StringIO from cmislib import CmisClient -from cmislib.model import (CmisException, ObjectNotFoundException, PermissionDeniedException, - UpdateConflictException) +from cmislib.exceptions import CmisException +from cmislib.exceptions import ObjectNotFoundException +from cmislib.exceptions import PermissionDeniedException +from cmislib.exceptions import UpdateConflictException from django.db import models from django.utils.translation import ugettext_lazy as _ @@ -117,9 +120,8 @@ def wrap_cmis_error(f): def wrapper(*args, **kwargs): try: return f(*args, **kwargs) - except urllib2.URLError as e: - # FIXME when moving to cmislib >= 0.6.0 - # httplib2 will probably be used instead of urllib + except (urllib2.URLError, httplib2.HttpLib2Error) as e: + # FIXME urllib2 still used for cmslib 0.5 compat raise APIError("connection error: %s" % e) except PermissionDeniedException as e: raise APIError("permission denied: %s" % e) diff --git a/setup.py b/setup.py index 54a03221..617f95bc 100755 --- a/setup.py +++ b/setup.py @@ -97,7 +97,7 @@ setup(name='passerelle', 'pyexcel-io', 'pyexcel-ods', 'pyexcel-xls', - 'cmislib >= 0.5, <0.6', + 'cmislib', 'pyproj', 'feedparser', 'lxml', diff --git a/tests/test_cmis.py b/tests/test_cmis.py index 8a7ba53f..23a77a58 100644 --- a/tests/test_cmis.py +++ b/tests/test_cmis.py @@ -1,9 +1,12 @@ import base64 +import httplib2 import urllib2 from cmislib import CmisClient -from cmislib.model import (CmisException, ObjectNotFoundException, - PermissionDeniedException, UpdateConflictException) +from cmislib.exceptions import CmisException +from cmislib.exceptions import ObjectNotFoundException +from cmislib.exceptions import PermissionDeniedException +from cmislib.exceptions import UpdateConflictException from django.contrib.contenttypes.models import ContentType from mock import call, Mock import py @@ -263,8 +266,8 @@ def test_create_doc(): @pytest.mark.parametrize("cmis_exc,err_msg", [ - # FIXME when moving to cmislib >= 0.6.0 - # httplib2 will probably be used instead of urllib + (httplib2.HttpLib2Error, "connection error"), + # FIXME used for cmslib 0.5 compat (urllib2.URLError, "connection error"), (PermissionDeniedException, "permission denied"), (UpdateConflictException, "update conflict"),