diff --git a/CHANGES.rst b/CHANGES.rst index c32edfc..d4f73c2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -14,7 +14,8 @@ New features: Bug fixes: -- *add item here* +- Some Python 3 fixes. + [pbauer] 3.3.8 (2018-06-18) diff --git a/plone/app/iterate/archiver.py b/plone/app/iterate/archiver.py index b61cb68..f962003 100644 --- a/plone/app/iterate/archiver.py +++ b/plone/app/iterate/archiver.py @@ -24,7 +24,7 @@ from zope.component import adapter from zope.interface import implementer -import interfaces +from . import interfaces @implementer(interfaces.IObjectArchiver) diff --git a/plone/app/iterate/copier.py b/plone/app/iterate/copier.py index acd0134..32b77ed 100644 --- a/plone/app/iterate/copier.py +++ b/plone/app/iterate/copier.py @@ -34,7 +34,7 @@ from Products.Archetypes.Referenceable import Referenceable from Products.CMFCore.utils import getToolByName from Products.DCWorkflow.DCWorkflow import DCWorkflowDefinition -from relation import WorkingCopyRelation +from .relation import WorkingCopyRelation from ZODB.PersistentMapping import PersistentMapping from zope import component from zope import interface diff --git a/plone/app/iterate/dexterity/copier.py b/plone/app/iterate/dexterity/copier.py index d8a474f..fdcb552 100644 --- a/plone/app/iterate/dexterity/copier.py +++ b/plone/app/iterate/dexterity/copier.py @@ -123,9 +123,9 @@ def _get_relation_to_baseline(self): id = intids.getId(context) # ask catalog catalog = component.getUtility(ICatalog) - relations = list(catalog.findRelations({'to_id': id})) - relations = filter(lambda r: r.from_attribute == ITERATE_RELATION_NAME, - relations) + relations = catalog.findRelations({'to_id': id}) + relations = [i for i in relations + if i.from_attribute == ITERATE_RELATION_NAME] # do we have a baseline in our relations? if relations and not len(relations) == 1: raise interfaces.CheckinException('Baseline count mismatch') diff --git a/plone/app/iterate/dexterity/utils.py b/plone/app/iterate/dexterity/utils.py index dcb1947..e1dd41b 100644 --- a/plone/app/iterate/dexterity/utils.py +++ b/plone/app/iterate/dexterity/utils.py @@ -24,7 +24,7 @@ def get_relations(context): lambda r: r.from_attribute == ITERATE_RELATION_NAME, relations ) - return relations + return list(relations) def get_checkout_relation(context): diff --git a/plone/app/iterate/event.py b/plone/app/iterate/event.py index 398ee47..4cd89ae 100644 --- a/plone/app/iterate/event.py +++ b/plone/app/iterate/event.py @@ -26,7 +26,7 @@ from zope.event import notify from zope.interface import implementer -import interfaces +from . import interfaces @implementer(interfaces.ICheckoutEvent) diff --git a/plone/app/iterate/permissions.py b/plone/app/iterate/permissions.py index 39faf34..7978780 100644 --- a/plone/app/iterate/permissions.py +++ b/plone/app/iterate/permissions.py @@ -21,12 +21,11 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ################################################################## -from Products.CMFCore.permissions import setDefaultRoles - +from AccessControl.Permission import addPermission CheckinPermission = 'iterate : Check in content' CheckoutPermission = 'iterate : Check out content' DEFAULT_ROLES = ('Manager', 'Owner', 'Site Administrator', 'Editor') -setDefaultRoles(CheckinPermission, DEFAULT_ROLES) -setDefaultRoles(CheckoutPermission, DEFAULT_ROLES) +addPermission(CheckinPermission, default_roles=DEFAULT_ROLES) +addPermission(CheckoutPermission, default_roles=DEFAULT_ROLES) diff --git a/setup.py b/setup.py index 96763bd..5e2dace 100644 --- a/setup.py +++ b/setup.py @@ -18,11 +18,14 @@ 'Environment :: Web Environment', 'Framework :: Plone', 'Framework :: Plone :: 5.1', + 'Framework :: Plone :: 5.2', 'Framework :: Zope2', 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', ], keywords='check-out check-in staging', author='Plone Foundation',