diff --git a/README.txt b/README.txt index 3d37044..7f4b13d 100755 --- a/README.txt +++ b/README.txt @@ -552,7 +552,7 @@ view for rendering.) False >>> view.renderTarget() - u'
Test data
\nAnother paragraph
\n' + u'Test data
\nAnother paragraph
\n' u'Test data
\nAnother ?paragraph
\n' diff --git a/browser/concept.py b/browser/concept.py index 8c693cb..e38fb1c 100644 --- a/browser/concept.py +++ b/browser/concept.py @@ -24,7 +24,6 @@ $Id$ from itertools import groupby from zope import interface, component, schema -from zope.app import zapi from zope.app.catalog.interfaces import ICatalog from zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent from zope.app.container.contained import ObjectRemovedEvent @@ -43,6 +42,7 @@ from zope.publisher.interfaces.browser import IBrowserRequest from zope.schema.interfaces import IIterableSource from zope.security.proxy import removeSecurityProxy from zope.traversing.api import getName +from zope.traversing.browser import absoluteURL from cybertools.browser.action import actions from cybertools.composer.interfaces import IInstance @@ -182,7 +182,7 @@ class BaseRelationView(BaseView): @Lazy def predicateUrl(self): - return zapi.absoluteURL(self.predicate, self.request) + return absoluteURL(self.predicate, self.request) @Lazy def relevance(self): diff --git a/browser/manager.py b/browser/manager.py index 99ce71c..a629843 100644 --- a/browser/manager.py +++ b/browser/manager.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2006 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,7 +22,6 @@ Definition of view classes for the top-level loops container. $Id$ """ -from zope.app import zapi from zope import component from zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent from zope.event import notify diff --git a/browser/node.py b/browser/node.py index 5b295fd..5636d5c 100644 --- a/browser/node.py +++ b/browser/node.py @@ -25,7 +25,6 @@ $Id$ from urlparse import urlparse, urlunparse from zope import component, interface, schema from zope.cachedescriptors.property import Lazy -from zope.app import zapi from zope.annotation.interfaces import IAnnotations from zope.app.catalog.interfaces import ICatalog from zope.app.container.browser.contents import JustContents @@ -39,8 +38,10 @@ from zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent from zope.lifecycleevent import Attributes from zope.formlib.form import Form, FormFields from zope.proxy import removeAllProxies +from zope.publisher.defaultview import getDefaultViewName from zope.security import canAccess, canWrite, checkPermission from zope.security.proxy import removeSecurityProxy +from zope.traversing.api import getParent, getParents, getPath from cybertools.ajax import innerHtml from cybertools.browser import configurator @@ -243,7 +244,7 @@ class NodeView(BaseView): return u'' if text.startswith('<'): # seems to be HTML return text - source = zapi.createObject(self.context.contentType, text) + source = component.createObject(self.context.contentType, text) view = component.getMultiAdapter((removeAllProxies(source), self.request)) return view.render() @@ -316,7 +317,7 @@ class NodeView(BaseView): menu = self.menuObject parentMenu = None while menu is not None: - parent = zapi.getParent(menu) + parent = getParent(menu) if INode.providedBy(parent): parentMenu = parent.getMenu() if parentMenu is None or parentMenu is menu: @@ -348,7 +349,7 @@ class NodeView(BaseView): @Lazy def parents(self): - return zapi.getParents(self.context) + return getParents(self.context) @Lazy def nearestMenuItem(self): @@ -413,7 +414,7 @@ class NodeView(BaseView): target = self.virtualTargetObject if target is not None: # zope.app.publisher.browser - name = zapi.getDefaultViewName(target, self.request) + name = getDefaultViewName(target, self.request) return self.targetView(name) return u'' @@ -718,8 +719,8 @@ class ConfigureView(NodeView): container = type.defaultContainer name = form.get('create.name', '') if not name: - viewManagerPath = zapi.getPath(root.getViewManager()) - name = zapi.getPath(self.context)[len(viewManagerPath)+1:] + viewManagerPath = getPath(root.getViewManager()) + name = getPath(self.context)[len(viewManagerPath)+1:] name = name.replace('/', '.') # check for duplicates: num = 1 @@ -836,7 +837,7 @@ class NodeViewConfigurator(configurator.AnnotationViewConfigurator): @property def viewProperties(self): result = [] - for p in list(reversed(zapi.getParents(self.context))) + [self.context]: + for p in list(reversed(getParents(self.context))) + [self.context]: if not INode.providedBy(p) or p.nodeType != 'menu': continue ann = IAnnotations(p) diff --git a/browser/util.py b/browser/util.py index 5e1d818..5cd9a15 100644 --- a/browser/util.py +++ b/browser/util.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2006 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,10 +22,10 @@ Utilities. $Id$ """ -from zope.app import zapi from zope.app.pagetemplate import ViewPageTemplateFile from zope.app.publisher.browser.menu import BrowserMenu from zope.app.publisher.interfaces.browser import IBrowserSubMenuItem +from zope import component from zope.formlib.namedtemplate import NamedTemplateImplementation @@ -45,7 +45,7 @@ class LoopsMenu(BrowserMenu): def getMenuItems(self, object, request): """Return menu item entries in a TAL-friendly form.""" result = sorted([(item.order, item.action.lower(), item) - for name, item in zapi.getAdapters( + for name, item in component.getAdapters( (object, request), self.getMenuItemType()) if item.available()]) return [ diff --git a/expert/concept.py b/expert/concept.py index abd0b6f..df0363c 100644 --- a/expert/concept.py +++ b/expert/concept.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2008 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,8 +27,8 @@ from BTrees.IFBTree import weightedIntersection, weightedUnion, IFBucket from zope import schema, component from zope.interface import Interface, Attribute, implements from zope.app.catalog.interfaces import ICatalog -from zope.app.intid.interfaces import IIntIds from zope.cachedescriptors.property import Lazy +from zope.intid.interfaces import IIntIds from cybertools.typology.interfaces import IType from loops.common import AdapterBase diff --git a/expert/query.py b/expert/query.py index e2cdb86..63e91ab 100644 --- a/expert/query.py +++ b/expert/query.py @@ -26,10 +26,10 @@ from BTrees.IIBTree import IITreeSet from BTrees.IFBTree import IFBucket, IFBTree, IFTreeSet from BTrees.IOBTree import IOBucket, IOBTree from zope import interface, component -from zope.app.intid.interfaces import IIntIds from zope.component import adapts from zope.interface import implements, implementer from zope.cachedescriptors.property import Lazy +from zope.intid.interfaces import IIntIds from cybertools.catalog.query import Term, Eq, Between, And, Or from cybertools.catalog.query import Text as BaseText diff --git a/external/browser.py b/external/browser.py index 00ace6e..2427baf 100644 --- a/external/browser.py +++ b/external/browser.py @@ -27,7 +27,6 @@ import os import time from zope import component from zope.interface import Interface, implements -from zope.app import zapi from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile from zope.cachedescriptors.property import Lazy from zope.security.proxy import removeSecurityProxy diff --git a/knowledge/knowledge.py b/knowledge/knowledge.py index 38db3fd..c77223b 100644 --- a/knowledge/knowledge.py +++ b/knowledge/knowledge.py @@ -24,7 +24,6 @@ $Id$ """ from zope import interface, component -from zope.app import zapi from zope.component import adapts from zope.interface import implements from zope.cachedescriptors.property import Lazy diff --git a/organize/README.txt b/organize/README.txt index cbd7bd7..b108dc6 100644 --- a/organize/README.txt +++ b/organize/README.txt @@ -265,7 +265,7 @@ Automatic security settings on persons Person objects that have a user assigned to them receive this user (principal) as their owner. - >>> from zope.app.securitypolicy.interfaces import IPrincipalRoleMap + >>> from zope.securitypolicy.interfaces import IPrincipalRoleMap >>> IPrincipalRoleMap(concepts['john']).getPrincipalsAndRoles() [('loops.Owner', 'users.john', PermissionSetting: Allow)] >>> IPrincipalRoleMap(concepts['person.newuser']).getPrincipalsAndRoles() diff --git a/organize/interfaces.py b/organize/interfaces.py index c60fdc8..01a580b 100644 --- a/organize/interfaces.py +++ b/organize/interfaces.py @@ -24,10 +24,10 @@ $Id$ from zope.interface import Interface, Attribute from zope import interface, component, schema -from zope.app import zapi from zope.app.principalannotation import annotations from zope.app.security.interfaces import IAuthentication, PrincipalLookupError from zope.security.proxy import removeSecurityProxy +from zope.traversing.api import getName from cybertools.organize.interfaces import IAddress as IBaseAddress from cybertools.organize.interfaces import IPerson as IBasePerson @@ -70,7 +70,7 @@ class UserId(schema.TextLine): if person is not None and person != context: raiseValidationError( _(u'There is alread a person ($person) assigned to user $userId.', - mapping=dict(person=zapi.getName(person), + mapping=dict(person=getName(person), userId=userId))) diff --git a/organize/process/README.txt b/organize/process/README.txt index 340912f..ee9c2ac 100644 --- a/organize/process/README.txt +++ b/organize/process/README.txt @@ -12,7 +12,6 @@ Let's do some basic set up >>> site = placefulSetUp(True) >>> from zope import component, interface - >>> from zope.app import zapi and setup a simple loops site with a concept manager and some concepts (with all the type machinery, what in real life is done via standard diff --git a/organize/process/definition.py b/organize/process/definition.py index 04677ae..b287110 100644 --- a/organize/process/definition.py +++ b/organize/process/definition.py @@ -24,7 +24,6 @@ $Id$ """ from zope import interface, component -from zope.app import zapi from zope.component import adapts from zope.interface import implements from zope.cachedescriptors.property import Lazy diff --git a/organize/tests.py b/organize/tests.py index 7222b18..981b6e0 100755 --- a/organize/tests.py +++ b/organize/tests.py @@ -17,8 +17,8 @@ from zope.app.principalannotation import annotations from zope.app.principalannotation.interfaces import IPrincipalAnnotationUtility from zope.app.security.interfaces import IAuthentication from zope.app.security.principalregistry import PrincipalRegistry -from zope.app.securitypolicy.interfaces import IRolePermissionManager -from zope.app.securitypolicy.interfaces import IPrincipalRoleManager +from zope.securitypolicy.interfaces import IRolePermissionManager +from zope.securitypolicy.interfaces import IPrincipalRoleManager from cybertools.util.jeep import Jeep from loops.common import adapted diff --git a/organize/util.py b/organize/util.py index 0587200..b8a35e9 100644 --- a/organize/util.py +++ b/organize/util.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ from zope.app.authentication.interfaces import IAuthenticatorPlugin from zope.app.authentication.groupfolder import GroupFolder from zope.app.security.interfaces import IAuthentication, PrincipalLookupError from zope.app.security.settings import Allow, Deny, Unset -from zope.app.securitypolicy.interfaces import IPrincipalRoleManager +from zope.securitypolicy.interfaces import IPrincipalRoleManager from zope.traversing.api import getParents from loops.common import adapted from loops.type import getOptionsDict diff --git a/query.py b/query.py index 1c0ddce..d7a0a93 100644 --- a/query.py +++ b/query.py @@ -27,8 +27,8 @@ from BTrees.IFBTree import weightedIntersection, weightedUnion, IFBucket from zope import schema, component from zope.interface import Interface, Attribute, implements from zope.app.catalog.interfaces import ICatalog -from zope.app.intid.interfaces import IIntIds from zope.cachedescriptors.property import Lazy +from zope.intid.interfaces import IIntIds from cybertools.typology.interfaces import IType from loops.common import AdapterBase diff --git a/security/browser/admin.py b/security/browser/admin.py index 1ef9e7b..0679ec1 100644 --- a/security/browser/admin.py +++ b/security/browser/admin.py @@ -28,17 +28,17 @@ from zope.app.security.interfaces import IPermission from zope.app.security.settings import Allow, Deny, Unset from zope.app.securitypolicy.browser import granting from zope.app.securitypolicy.browser.rolepermissionview import RolePermissionView -from zope.app.securitypolicy.interfaces import IPrincipalRoleManager, \ - IRolePermissionMap -from zope.app.securitypolicy.interfaces import IPrincipalPermissionManager, \ - IPrincipalPermissionMap -from zope.app.securitypolicy.zopepolicy import SettingAsBoolean from zope import component from zope.event import notify from zope.interface import implements from zope.cachedescriptors.property import Lazy from zope.lifecycleevent import ObjectCreatedEvent, ObjectModifiedEvent from zope.security.proxy import removeSecurityProxy +from zope.securitypolicy.interfaces import IPrincipalRoleManager, \ + IRolePermissionMap +from zope.securitypolicy.interfaces import IPrincipalPermissionManager, \ + IPrincipalPermissionMap +from zope.securitypolicy.zopepolicy import SettingAsBoolean from zope.traversing.api import getName, getParent, getParents from loops.common import adapted diff --git a/security/browser/audit.py b/security/browser/audit.py index 5030aa9..366edaf 100644 --- a/security/browser/audit.py +++ b/security/browser/audit.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2010 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,9 +24,9 @@ $Id$ from zope import interface, component from zope.app.pagetemplate import ViewPageTemplateFile -from zope.app.securitypolicy.interfaces import IRolePermissionMap -from zope.app.securitypolicy.zopepolicy import SettingAsBoolean from zope.cachedescriptors.property import Lazy +from zope.securitypolicy.interfaces import IRolePermissionMap +from zope.securitypolicy.zopepolicy import SettingAsBoolean from zope.traversing.api import getName, getParent from loops.browser.concept import ConceptView diff --git a/security/common.py b/security/common.py index 31ac6f2..e280aed 100644 --- a/security/common.py +++ b/security/common.py @@ -27,14 +27,14 @@ from zope import component from zope.annotation.interfaces import IAttributeAnnotatable from zope.app.container.interfaces import IObjectAddedEvent from zope.app.security.settings import Allow, Deny, Unset -from zope.app.securitypolicy.interfaces import IPrincipalRoleManager -from zope.app.securitypolicy.interfaces import IRolePermissionManager from zope.cachedescriptors.property import Lazy from zope.interface import implements from zope.lifecycleevent import IObjectCreatedEvent, IObjectModifiedEvent from zope.security import canAccess, canWrite from zope.security import checkPermission as baseCheckPermission from zope.security.management import getInteraction +from zope.securitypolicy.interfaces import IPrincipalRoleManager +from zope.securitypolicy.interfaces import IRolePermissionManager from zope.traversing.api import getName from zope.traversing.interfaces import IPhysicallyLocatable diff --git a/security/policy.py b/security/policy.py index 17c0df0..011af29 100644 --- a/security/policy.py +++ b/security/policy.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2008 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,16 +24,16 @@ $Id$ """ from zope.app.security.settings import Allow, Deny, Unset -from zope.app.securitypolicy.interfaces import IPrincipalRoleMap, IRolePermissionMap -from zope.app.securitypolicy.zopepolicy import ZopeSecurityPolicy -from zope.app.securitypolicy.zopepolicy import SettingAsBoolean, \ - globalRolesForPrincipal, globalRolesForPermission from zope import component from zope.component import adapts from zope.cachedescriptors.property import Lazy from zope.interface import classProvides from zope.security.interfaces import ISecurityPolicy from zope.security.proxy import removeSecurityProxy +from zope.securitypolicy.interfaces import IPrincipalRoleMap, IRolePermissionMap +from zope.securitypolicy.zopepolicy import ZopeSecurityPolicy +from zope.securitypolicy.zopepolicy import SettingAsBoolean, \ + globalRolesForPrincipal, globalRolesForPermission from loops.interfaces import IConcept, IResource diff --git a/security/setter.py b/security/setter.py index 5c9e0c0..373e41e 100644 --- a/security/setter.py +++ b/security/setter.py @@ -24,14 +24,14 @@ $Id$ """ from zope.app.security.settings import Allow, Deny, Unset -from zope.app.securitypolicy.interfaces import \ - IRolePermissionMap, IRolePermissionManager, \ - IPrincipalRoleMap, IPrincipalRoleManager from zope import component from zope.component import adapts from zope.cachedescriptors.property import Lazy from zope.interface import implements, Interface from zope.security.proxy import isinstance +from zope.securitypolicy.interfaces import \ + IRolePermissionMap, IRolePermissionManager, \ + IPrincipalRoleMap, IPrincipalRoleManager from loops.common import adapted, AdapterBase, baseObject from loops.interfaces import IConceptSchema, IBaseResourceSchema, ILoopsAdapter diff --git a/tests/setup.py b/tests/setup.py index dcc1197..b23acf7 100644 --- a/tests/setup.py +++ b/tests/setup.py @@ -16,9 +16,6 @@ from zope.app.principalannotation import PrincipalAnnotationUtility from zope.app.principalannotation.interfaces import IPrincipalAnnotationUtility from zope.app.security.principalregistry import principalRegistry from zope.app.security.interfaces import IAuthentication -from zope.app.securitypolicy.zopepolicy import ZopeSecurityPolicy -from zope.app.securitypolicy.principalrole import AnnotationPrincipalRoleManager -from zope.app.securitypolicy.rolepermission import AnnotationRolePermissionManager from zope.app.session.interfaces import IClientIdManager, ISessionDataContainer from zope.app.session import session from zope.dublincore.annotatableadapter import ZDCAnnotatableAdapter @@ -27,6 +24,9 @@ from zope.interface import Interface, implements from zope.publisher.interfaces.browser import IBrowserRequest, IBrowserView from zope.security.checker import Checker, defineChecker from zope.security.management import setSecurityPolicy +from zope.securitypolicy.zopepolicy import ZopeSecurityPolicy +from zope.securitypolicy.principalrole import AnnotationPrincipalRoleManager +from zope.securitypolicy.rolepermission import AnnotationRolePermissionManager from cybertools.browser.controller import Controller from cybertools.catalog.keyword import KeywordIndex diff --git a/tests/test_loops.py b/tests/test_loops.py index 8c41a97..a14f188 100755 --- a/tests/test_loops.py +++ b/tests/test_loops.py @@ -1,11 +1,9 @@ # $Id$ import unittest, doctest -from zope.testing.doctestunit import DocFileSuite from zope.interface.verify import verifyClass from zope.interface import implements -from zope.app import zapi -from zope.app.intid.interfaces import IIntIds +from zope.intid.interfaces import IIntIds from loops.interfaces import ILoops from loops.base import Loops @@ -48,8 +46,8 @@ def test_suite(): flags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS return unittest.TestSuite(( unittest.makeSuite(Test), - DocFileSuite('../README.txt', optionflags=flags), - DocFileSuite('../helpers.txt', optionflags=flags), + doctest.DocFileSuite('../README.txt', optionflags=flags), + doctest.DocFileSuite('../helpers.txt', optionflags=flags), )) if __name__ == '__main__': diff --git a/util.py b/util.py index b02bce9..0206bfc 100644 --- a/util.py +++ b/util.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2006 Helmut Merz helmutm@cy55.de +# Copyright (c) 2011 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,8 +24,8 @@ $Id$ import os from zope import component -from zope.app.intid.interfaces import IIntIds from zope.interface import directlyProvides, directlyProvidedBy +from zope.intid.interfaces import IIntIds from zope.i18nmessageid import MessageFactory from zope.schema import vocabulary diff --git a/view.py b/view.py index 5d36991..5430413 100644 --- a/view.py +++ b/view.py @@ -26,11 +26,11 @@ from zope import component from zope.app.container.btree import BTreeContainer from zope.app.container.contained import Contained from zope.app.container.ordered import OrderedContainer -from zope.app.intid.interfaces import IIntIds from zope.cachedescriptors.property import Lazy, readproperty from zope.component import adapts from zope.interface import implements from zope.interface import alsoProvides, directlyProvides, directlyProvidedBy +from zope.intid.interfaces import IIntIds from zope.publisher.browser import applySkin from zope import schema from zope.security import canAccess