From 51f09a785ce4dd6f9e1f5549c8de8ac4af474814 Mon Sep 17 00:00:00 2001 From: Jens Vagelpohl Date: Wed, 3 May 2017 10:55:29 +0200 Subject: [PATCH] - make ZServer an optional dependency --- CHANGES.rst | 3 +++ setup.py | 1 - src/Products/ZSQLMethods/tests/test_SQL.py | 5 ++++- src/Shared/DC/ZRDB/DA.py | 9 +++++++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index aa081a6..3f6e86b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -6,6 +6,9 @@ Changelog - Target use with Zope 4: no longer support 2.13.x. +- Make webdav from ZServer optional + [dataflake] + 2.13.5 (2016-11-10) ------------------- diff --git a/setup.py b/setup.py index 05fd5a4..596491d 100644 --- a/setup.py +++ b/setup.py @@ -48,7 +48,6 @@ 'transaction', 'zope.interface', 'zExceptions', - 'ZServer >= 4.0dev', # webdav ], include_package_data=True, zip_safe=False, diff --git a/src/Products/ZSQLMethods/tests/test_SQL.py b/src/Products/ZSQLMethods/tests/test_SQL.py index efbf106..46de0fd 100644 --- a/src/Products/ZSQLMethods/tests/test_SQL.py +++ b/src/Products/ZSQLMethods/tests/test_SQL.py @@ -12,7 +12,10 @@ def _makeOne(self, *args, **kw): def test_class_conforms_to_IWriteLock(self): from zope.interface.verify import verifyClass - from webdav.interfaces import IWriteLock + try: + from OFS.interfaces import IWriteLock + except ImportError: + from webdav.interfaces import IWriteLock verifyClass(IWriteLock, self._getTargetClass()) diff --git a/src/Shared/DC/ZRDB/DA.py b/src/Shared/DC/ZRDB/DA.py index 1cef374..9e95332 100644 --- a/src/Shared/DC/ZRDB/DA.py +++ b/src/Shared/DC/ZRDB/DA.py @@ -33,11 +33,16 @@ from DateTime.DateTime import DateTime from ExtensionClass import Base from BTrees.OOBTree import OOBucket as Bucket +from OFS import bbb from OFS.SimpleItem import Item from Persistence import Persistent import Products -from webdav.Resource import Resource -from webdav.Lockable import ResourceLockedError +if bbb.HAS_ZSERVER: + from webdav.Resource import Resource + from webdav.Lockable import ResourceLockedError +else: + Resource = bbb.Resource + from zExceptions import ResourceLockedError from zExceptions import BadRequest from zExceptions import NotFound