[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ Cleaned up / normalized imports:
Tres Seaver
tseaver at palladion.com
Sat Dec 27 15:52:41 EST 2008
Log message for revision 94384:
Cleaned up / normalized imports:
o Don't import from Globals; instead, use real locations.
o Make other imports use the actual source module, rather than an
intermediate (e.g., prefer importing 'ClassSecurityInfo' from
'AccessControl.SecurityInfo' rather than from 'AccessControl').
o Avoid relative imports, which will break in later versions of Python.
Changed:
U Products.CMFCore/trunk/Products/CMFCore/ActionInformation.py
U Products.CMFCore/trunk/Products/CMFCore/ActionProviderBase.py
U Products.CMFCore/trunk/Products/CMFCore/ActionsTool.py
U Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
U Products.CMFCore/trunk/Products/CMFCore/CMFBTreeFolder.py
U Products.CMFCore/trunk/Products/CMFCore/CMFCatalogAware.py
U Products.CMFCore/trunk/Products/CMFCore/CachingPolicyManager.py
U Products.CMFCore/trunk/Products/CMFCore/CatalogTool.py
U Products.CMFCore/trunk/Products/CMFCore/ContentTypeRegistry.py
U Products.CMFCore/trunk/Products/CMFCore/CookieCrumbler.py
U Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
U Products.CMFCore/trunk/Products/CMFCore/DiscussionTool.py
U Products.CMFCore/trunk/Products/CMFCore/DynamicType.py
U Products.CMFCore/trunk/Products/CMFCore/Expression.py
U Products.CMFCore/trunk/Products/CMFCore/FSDTMLMethod.py
U Products.CMFCore/trunk/Products/CMFCore/FSFile.py
U Products.CMFCore/trunk/Products/CMFCore/FSImage.py
U Products.CMFCore/trunk/Products/CMFCore/FSObject.py
U Products.CMFCore/trunk/Products/CMFCore/FSPageTemplate.py
U Products.CMFCore/trunk/Products/CMFCore/FSPropertiesObject.py
U Products.CMFCore/trunk/Products/CMFCore/FSPythonScript.py
U Products.CMFCore/trunk/Products/CMFCore/FSReSTMethod.py
U Products.CMFCore/trunk/Products/CMFCore/FSSTXMethod.py
U Products.CMFCore/trunk/Products/CMFCore/FSZSQLMethod.py
U Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py
U Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py
U Products.CMFCore/trunk/Products/CMFCore/PortalContent.py
U Products.CMFCore/trunk/Products/CMFCore/PortalFolder.py
U Products.CMFCore/trunk/Products/CMFCore/PortalObject.py
U Products.CMFCore/trunk/Products/CMFCore/RegistrationTool.py
U Products.CMFCore/trunk/Products/CMFCore/Skinnable.py
U Products.CMFCore/trunk/Products/CMFCore/SkinsContainer.py
U Products.CMFCore/trunk/Products/CMFCore/SkinsTool.py
U Products.CMFCore/trunk/Products/CMFCore/TypesTool.py
U Products.CMFCore/trunk/Products/CMFCore/URLTool.py
U Products.CMFCore/trunk/Products/CMFCore/UndoTool.py
U Products.CMFCore/trunk/Products/CMFCore/WorkflowTool.py
U Products.CMFCore/trunk/Products/CMFCore/permissions.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSecurity.py
U Products.CMFCore/trunk/Products/CMFCore/utils.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/ActionInformation.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/ActionInformation.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/ActionInformation.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,9 +17,9 @@
from UserDict import UserDict
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base, aq_inner, aq_parent
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
from OFS.ObjectManager import IFAwareObjectManager
from OFS.OrderedFolder import OrderedFolder
from OFS.PropertyManager import PropertyManager
@@ -27,13 +27,13 @@
from zope.i18nmessageid import Message
from zope.interface import implements
-from Expression import Expression
-from interfaces import IAction
-from interfaces import IActionCategory
-from interfaces import IActionInfo
-from permissions import View
-from utils import _checkPermission
-from utils import getToolByName
+from Products.CMFCore.Expression import Expression
+from Products.CMFCore.interfaces import IAction
+from Products.CMFCore.interfaces import IActionCategory
+from Products.CMFCore.interfaces import IActionInfo
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import getToolByName
_unchanged = [] # marker
Modified: Products.CMFCore/trunk/Products/CMFCore/ActionProviderBase.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/ActionProviderBase.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/ActionProviderBase.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,19 +17,19 @@
from warnings import warn
-from AccessControl import ClassSecurityInfo
-from Globals import DTMLFile
-from Globals import InitializeClass
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from zope.interface import implements
-from ActionInformation import ActionInfo
-from ActionInformation import ActionInformation
-from ActionInformation import getOAI
-from exceptions import AccessControl_Unauthorized
-from Expression import getExprContext
-from interfaces import IActionProvider
-from permissions import ManagePortal
-from utils import _dtmldir
+from Products.CMFCore.ActionInformation import ActionInfo
+from Products.CMFCore.ActionInformation import ActionInformation
+from Products.CMFCore.ActionInformation import getOAI
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFCore.Expression import getExprContext
+from Products.CMFCore.interfaces import IActionProvider
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _dtmldir
class ActionProviderBase:
Modified: Products.CMFCore/trunk/Products/CMFCore/ActionsTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/ActionsTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/ActionsTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,20 +17,20 @@
from warnings import warn
-from AccessControl import ClassSecurityInfo
-from Globals import DTMLFile
-from Globals import InitializeClass
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.ObjectManager import IFAwareObjectManager
from OFS.OrderedFolder import OrderedFolder
from zope.interface import implements
-from ActionProviderBase import ActionProviderBase
-from interfaces import IActionCategory
-from interfaces import IActionProvider
-from interfaces import IActionsTool
-from permissions import ManagePortal
-from utils import _dtmldir
-from utils import UniqueObject
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.interfaces import IActionCategory
+from Products.CMFCore.interfaces import IActionProvider
+from Products.CMFCore.interfaces import IActionsTool
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import UniqueObject
class ActionsTool(UniqueObject, IFAwareObjectManager, OrderedFolder,
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2008-12-27 20:52:41 UTC (rev 94384)
@@ -4,6 +4,16 @@
2.2.0 (unreleased)
------------------
+- Cleaned up / normalized imports:
+
+ o Don't import from Globals; instead, use real locations.
+
+ o Make other imports use the actual source module, rather than an
+ intermediate (e.g., prefer importing 'ClassSecurityInfo' from
+ 'AccessControl.SecurityInfo' rather than from 'AccessControl').
+
+ o Avoid relative imports, which will break in later versions of Python.
+
- Added `icon_expr` as a new property to type information. This allows you
to specify the `content_icon` as an expression and store it. This avoids
creating the expression on the fly at rendering time.
Modified: Products.CMFCore/trunk/Products/CMFCore/CMFBTreeFolder.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CMFBTreeFolder.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/CMFBTreeFolder.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,13 +17,13 @@
"""
from AccessControl.SecurityInfo import ClassSecurityInfo
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
from Products.BTreeFolder2.BTreeFolder2 import BTreeFolder2Base
from zope.component.factory import Factory
-from permissions import AddPortalFolders
-from PortalFolder import PortalFolder
-from PortalFolder import PortalFolderBase
+from Products.CMFCore.permissions import AddPortalFolders
+from Products.CMFCore.PortalFolder import PortalFolder
+from Products.CMFCore.PortalFolder import PortalFolderBase
def manage_addCMFBTreeFolder(dispatcher, id, title='', REQUEST=None):
Modified: Products.CMFCore/trunk/Products/CMFCore/CMFCatalogAware.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CMFCatalogAware.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/CMFCatalogAware.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,11 +17,11 @@
import logging
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base
from ExtensionClass import Base
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.interfaces import IObjectClonedEvent
from OFS.interfaces import IObjectWillBeMovedEvent
from zope.app.container.interfaces import IObjectAddedEvent
@@ -31,16 +31,16 @@
from zope.lifecycleevent.interfaces import IObjectCopiedEvent
from zope.lifecycleevent.interfaces import IObjectCreatedEvent
-from interfaces import ICallableOpaqueItem
-from interfaces import ICatalogAware
-from interfaces import IOpaqueItemManager
-from interfaces import IWorkflowAware
-from permissions import AccessContentsInformation
-from permissions import ManagePortal
-from permissions import ModifyPortalContent
-from utils import _dtmldir
-from utils import _getAuthenticatedUser
-from utils import getToolByName
+from Products.CMFCore.interfaces import ICallableOpaqueItem
+from Products.CMFCore.interfaces import ICatalogAware
+from Products.CMFCore.interfaces import IOpaqueItemManager
+from Products.CMFCore.interfaces import IWorkflowAware
+from Products.CMFCore.permissions import AccessContentsInformation
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import ModifyPortalContent
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _getAuthenticatedUser
+from Products.CMFCore.utils import getToolByName
logger = logging.getLogger('CMFCore.CMFCatalogAware')
Modified: Products.CMFCore/trunk/Products/CMFCore/CachingPolicyManager.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CachingPolicyManager.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/CachingPolicyManager.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,33 +15,33 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from App.Common import rfc1123_date
from DateTime.DateTime import DateTime
-from Globals import DTMLFile
-from Globals import InitializeClass
-from Globals import PersistentMapping
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Cache import Cache
from OFS.Cache import CacheManager
from OFS.Cache import getVerifiedManagerIds
from OFS.Cache import ZCM_MANAGERS
from OFS.interfaces import IObjectWillBeMovedEvent
from OFS.SimpleItem import SimpleItem
+from Persistence import PersistentMapping
from Products.PageTemplates.Expressions import getEngine
from Products.PageTemplates.Expressions import SecureModuleImporter
from zope.app.container.interfaces import IObjectMovedEvent
from zope.interface import implements
-from Expression import Expression
-from interfaces import ICachingPolicy
-from interfaces import ICachingPolicyManager
-from permissions import ManagePortal
-from permissions import View
-from utils import _dtmldir
-from utils import _setCacheHeaders
-from utils import _ViewEmulator
-from utils import getToolByName
-from utils import registerToolInterface
+from Products.CMFCore.Expression import Expression
+from Products.CMFCore.interfaces import ICachingPolicy
+from Products.CMFCore.interfaces import ICachingPolicyManager
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _setCacheHeaders
+from Products.CMFCore.utils import _ViewEmulator
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import registerToolInterface
# This is lame :(
# This listing is used to decide whether to wrap an object inside a "fake view"
Modified: Products.CMFCore/trunk/Products/CMFCore/CatalogTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CatalogTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/CatalogTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,13 +15,13 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
from AccessControl.PermissionRole import rolesForPermissionOn
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
from Acquisition import aq_base
-from DateTime import DateTime
-from Globals import DTMLFile
-from Globals import InitializeClass
+from DateTime.DateTime import DateTime
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from Products.PluginIndexes.common import safe_callable
from Products.ZCatalog.ZCatalog import ZCatalog
from zope.interface import implements
@@ -30,18 +30,18 @@
from zope.interface.declarations import ObjectSpecification
from zope.interface.declarations import ObjectSpecificationDescriptor
-from ActionProviderBase import ActionProviderBase
-from interfaces import ICatalogTool
-from interfaces import IIndexableObjectWrapper
-from permissions import AccessInactivePortalContent
-from permissions import ManagePortal
-from permissions import View
-from utils import _checkPermission
-from utils import _dtmldir
-from utils import _getAuthenticatedUser
-from utils import _mergedLocalRoles
-from utils import getToolByName
-from utils import UniqueObject
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.interfaces import ICatalogTool
+from Products.CMFCore.interfaces import IIndexableObjectWrapper
+from Products.CMFCore.permissions import AccessInactivePortalContent
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _getAuthenticatedUser
+from Products.CMFCore.utils import _mergedLocalRoles
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import UniqueObject
class IndexableObjectSpecification(ObjectSpecificationDescriptor):
Modified: Products.CMFCore/trunk/Products/CMFCore/ContentTypeRegistry.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/ContentTypeRegistry.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/ContentTypeRegistry.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,21 +15,23 @@
$Id$
"""
-import re, os, urllib
+import os
+import re
+import urllib
-from AccessControl import ClassSecurityInfo
-from Globals import DTMLFile
-from Globals import InitializeClass
-from Globals import PersistentMapping
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem
+from Persistence import PersistentMapping
from zope.interface import implements
from ZPublisher.mapply import mapply
-from interfaces import IContentTypeRegistry
-from interfaces import IContentTypeRegistryPredicate
-from permissions import ManagePortal
-from utils import _dtmldir
-from utils import getToolByName
+from Products.CMFCore.interfaces import IContentTypeRegistry
+from Products.CMFCore.interfaces import IContentTypeRegistryPredicate
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import getToolByName
class MajorMinorPredicate( SimpleItem ):
Modified: Products.CMFCore/trunk/Products/CMFCore/CookieCrumbler.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CookieCrumbler.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/CookieCrumbler.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -18,20 +18,22 @@
from base64 import encodestring, decodestring
from urllib import quote, unquote
-from Acquisition import aq_inner, aq_parent
-from DateTime import DateTime
-from AccessControl import ClassSecurityInfo, Permissions
-from ZPublisher import BeforeTraverse
-import Globals
-from Globals import HTMLFile
-from ZPublisher.HTTPRequest import HTTPRequest
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.Permissions import view_management_screens
+from Acquisition import aq_inner
+from Acquisition import aq_parent
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import HTMLFile
+from DateTime.DateTime import DateTime
from OFS.Folder import Folder
+from OFS.interfaces import IObjectWillBeMovedEvent
from zExceptions import Redirect
from zope.interface import implements
from zope.app.container.interfaces import IObjectMovedEvent
-from OFS.interfaces import IObjectWillBeMovedEvent
+from ZPublisher import BeforeTraverse
+from ZPublisher.HTTPRequest import HTTPRequest
-from interfaces import ICookieCrumbler
+from Products.CMFCore.interfaces import ICookieCrumbler
# Constants.
@@ -40,7 +42,7 @@
ATTEMPT_RESUME = 2 # Attempt to resume session
ModifyCookieCrumblers = 'Modify Cookie Crumblers'
-ViewManagementScreens = Permissions.view_management_screens
+ViewManagementScreens = view_management_screens
class CookieCrumblerDisabled(Exception):
@@ -387,7 +389,7 @@
return p.get('label', id)
return id
-Globals.InitializeClass(CookieCrumbler)
+InitializeClass(CookieCrumbler)
def handleCookieCrumblerEvent(ob, event):
Modified: Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,32 +17,30 @@
import logging
import re
-from os import path, listdir, stat
-from os.path import abspath
+import os
from sys import platform
from warnings import warn
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_inner, aq_parent
-from Globals import DevelopmentMode
-from Globals import DTMLFile
-from Globals import HTMLFile
-from Globals import InitializeClass
-from Globals import Persistent
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
+from App.special_dtml import HTMLFile
from OFS.Folder import Folder
from OFS.ObjectManager import bad_id
+from Persistence import Persistent
from zope.interface import implements
-from FSMetadata import FSMetadata
-from FSObject import BadFile
-from interfaces import IDirectoryView
-from permissions import AccessContentsInformation as ACI
-from permissions import ManagePortal
-from utils import _dtmldir
-from utils import normalize
-from utils import getPackageName
-from utils import getPackageLocation
-from utils import ProductsPath
+from Products.CMFCore.FSMetadata import FSMetadata
+from Products.CMFCore.FSObject import BadFile
+from Products.CMFCore.interfaces import IDirectoryView
+from Products.CMFCore.permissions import AccessContentsInformation as ACI
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import normalize
+from Products.CMFCore.utils import getPackageName
+from Products.CMFCore.utils import getPackageLocation
+from Products.CMFCore.utils import ProductsPath
logger = logging.getLogger('CMFCore.DirectoryView')
@@ -59,7 +57,7 @@
def _filtered_listdir(path, ignore):
return [ name
for name
- in listdir(path)
+ in os.listdir(path)
if name not in ignore and not ignore_re.match(name) ]
class _walker:
@@ -67,16 +65,16 @@
# make a dict for faster lookup
self.ignore = dict([(x, None) for x in ignore])
- def __call__(self, listdir, dirname, names):
+ def __call__(self, dirlist, dirname, names):
# filter names inplace, so filtered directories don't get visited
names[:] = [ name
for name
in names
if name not in self.ignore and not ignore_re.match(name) ]
# append with stat info
- results = [ (name, stat(path.join(dirname,name))[8])
+ results = [ (name, os.stat(os.path.join(dirname,name))[8])
for name in names ]
- listdir.extend(results)
+ dirlist.extend(results)
def _generateKey(package, subdir):
@@ -89,7 +87,7 @@
def _findProductForPath(path, subdir=None):
# like minimalpath, but raises an error if path is not inside a product
- p = abspath(path)
+ p = os.path.abspath(path)
for ppath in ProductsPath:
if p.startswith(ppath):
dirpath = p[len(ppath)+1:]
@@ -119,8 +117,8 @@
self._walker = _walker(self.ignore)
subdirs = []
for entry in _filtered_listdir(self._filepath, ignore=self.ignore):
- entry_filepath = path.join(self._filepath, entry)
- if path.isdir(entry_filepath):
+ entry_filepath = os.path.join(self._filepath, entry)
+ if os.path.isdir(entry_filepath):
subdirs.append(entry)
self.subdirs = tuple(subdirs)
@@ -142,7 +140,7 @@
"""
types = {}
try:
- f = open( path.join(self._filepath, '.objects'), 'rt' )
+ f = open( os.path.join(self._filepath, '.objects'), 'rt' )
except IOError:
pass
else:
@@ -157,36 +155,32 @@
types[obname.strip()] = meta_type.strip()
return types
- if DevelopmentMode:
-
- def _changed(self):
- mtime=0
- filelist=[]
- try:
- mtime = stat(self._filepath)[8]
- if platform == 'win32':
- # some Windows directories don't change mtime
- # when a file is added to or deleted from them :-(
- # So keep a list of files as well, and see if that
- # changes
- path.walk(self._filepath, self._walker, filelist)
- filelist.sort()
- except:
- logger.exception("Error checking for directory modification")
-
- if mtime != self._v_last_read or filelist != self._v_last_filelist:
- self._v_last_read = mtime
- self._v_last_filelist = filelist
-
- return 1
-
+ def _changed(self):
+ import Globals # for data
+ if not Globals.DevelopmentMode:
return 0
+ mtime=0
+ filelist=[]
+ try:
+ mtime = os.stat(self._filepath)[8]
+ if platform == 'win32':
+ # some Windows directories don't change mtime
+ # when a file is added to or deleted from them :-(
+ # So keep a list of files as well, and see if that
+ # changes
+ os.path.walk(self._filepath, self._walker, filelist)
+ filelist.sort()
+ except:
+ logger.exception("Error checking for directory modification")
- else:
+ if mtime != self._v_last_read or filelist != self._v_last_filelist:
+ self._v_last_read = mtime
+ self._v_last_filelist = filelist
- def _changed(self):
- return 0
+ return 1
+ return 0
+
def getContents(self, registry):
changed = self._changed()
if self.data is None or changed:
@@ -208,8 +202,8 @@
for entry in _filtered_listdir(self._filepath, ignore=self.ignore):
if not self._isAllowableFilename(entry):
continue
- entry_filepath = path.join(self._filepath, entry)
- if path.isdir(entry_filepath):
+ entry_filepath = os.path.join(self._filepath, entry)
+ if os.path.isdir(entry_filepath):
# Add a subdirectory only if it was previously registered,
# unless register_subdirs is set.
entry_reg_key = '/'.join((self._reg_key, entry))
@@ -244,7 +238,7 @@
pos = entry.rfind('.')
if pos >= 0:
name = entry[:pos]
- ext = path.normcase(entry[pos + 1:])
+ ext = os.path.normcase(entry[pos + 1:])
else:
name = entry
ext = ''
@@ -335,12 +329,12 @@
# file system directory to become a FSDV.
if not isinstance(_prefix, basestring):
package = getPackageName(_prefix)
- filepath = path.join(getPackageLocation(package), name)
+ filepath = os.path.join(getPackageLocation(package), name)
else:
warn('registerDirectory() called with deprecated _prefix type. '
'Support for paths will be removed in CMF 2.3. Please use '
'globals instead.', DeprecationWarning, stacklevel=2)
- filepath = path.join(_prefix, name)
+ filepath = os.path.join(_prefix, name)
(package, name) = _findProductForPath(_prefix, name)
reg_key = _generateKey(package, name)
self.registerDirectoryByKey(filepath, reg_key, subdirs, ignore)
@@ -351,7 +345,7 @@
self._directories[reg_key] = info
if subdirs:
for entry in info.getSubdirs():
- entry_filepath = path.join(filepath, entry)
+ entry_filepath = os.path.join(filepath, entry)
entry_reg_key = '/'.join((reg_key, entry))
self.registerDirectoryByKey(entry_filepath, entry_reg_key,
subdirs, ignore)
Modified: Products.CMFCore/trunk/Products/CMFCore/DiscussionTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DiscussionTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/DiscussionTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,24 +17,24 @@
import urllib
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import Implicit
from DateTime.DateTime import DateTime
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem
from zope.interface import implements
-from ActionProviderBase import ActionProviderBase
-from interfaces import IOldstyleDiscussable
-from interfaces import IOldstyleDiscussionTool
-from permissions import AccessContentsInformation
-from permissions import ManagePortal
-from permissions import ReplyToItem
-from permissions import View
-from utils import _dtmldir
-from utils import getToolByName
-from utils import UniqueObject
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.interfaces import IOldstyleDiscussable
+from Products.CMFCore.interfaces import IOldstyleDiscussionTool
+from Products.CMFCore.permissions import AccessContentsInformation
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import ReplyToItem
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import UniqueObject
class OldDiscussable(Implicit):
Modified: Products.CMFCore/trunk/Products/CMFCore/DynamicType.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DynamicType.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/DynamicType.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,14 +17,14 @@
from urllib import quote
-from AccessControl import ClassSecurityInfo
-from Globals import InitializeClass
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
from zope.app.publisher.browser import queryDefaultViewName
from zope.component import queryMultiAdapter
from zope.interface import implements
-from interfaces import IDynamicType
-from utils import getToolByName
+from Products.CMFCore.interfaces import IDynamicType
+from Products.CMFCore.utils import getToolByName
class DynamicType:
Modified: Products.CMFCore/trunk/Products/CMFCore/Expression.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/Expression.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/Expression.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,14 +15,16 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
-from Acquisition import aq_base, aq_inner, aq_parent
-from Globals import InitializeClass
-from Globals import Persistent
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from Acquisition import aq_base
+from Acquisition import aq_inner
+from Acquisition import aq_parent
+from App.class_init import default__class_init__ as InitializeClass
+from Persistence import Persistent
from Products.PageTemplates.Expressions import getEngine
from Products.PageTemplates.Expressions import SecureModuleImporter
-from utils import getToolByName
+from Products.CMFCore.utils import getToolByName
class Expression(Persistent):
Modified: Products.CMFCore/trunk/Products/CMFCore/FSDTMLMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSDTMLMethod.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSDTMLMethod.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,28 +15,30 @@
$Id$
"""
-import Globals
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
from AccessControl.DTML import RestrictedDTML
from AccessControl.Role import RoleManager
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
+from App.special_dtml import HTML
from OFS.Cache import Cacheable
from OFS.DTMLMethod import DTMLMethod, decapitate, guess_content_type
-from DirectoryView import registerFileExtension
-from DirectoryView import registerMetaType
-from FSObject import FSObject
-from permissions import FTPAccess
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import _checkConditionalGET
-from utils import _dtmldir
-from utils import _setCacheHeaders
+from Products.CMFCore.DirectoryView import registerFileExtension
+from Products.CMFCore.DirectoryView import registerMetaType
+from Products.CMFCore.FSObject import FSObject
+from Products.CMFCore.permissions import FTPAccess
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _checkConditionalGET
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _setCacheHeaders
_marker = object()
-class FSDTMLMethod(RestrictedDTML, RoleManager, FSObject, Globals.HTML):
+class FSDTMLMethod(RestrictedDTML, RoleManager, FSObject, HTML):
"""FSDTMLMethods act like DTML methods but are not directly
modifiable from the management interface.
@@ -59,7 +61,7 @@
security.declareObjectProtected(View)
security.declareProtected(ViewManagementScreens, 'manage_main')
- manage_main = Globals.DTMLFile('custdtml', _dtmldir)
+ manage_main = DTMLFile('custdtml', _dtmldir)
def __init__(self, id, filepath, fullname=None, properties=None):
FSObject.__init__(self, id, filepath, fullname, properties)
@@ -93,7 +95,7 @@
def read_raw(self):
if not self._reading:
self._updateFromFS()
- return Globals.HTML.read_raw(self)
+ return HTML.read_raw(self)
#### The following is mainly taken from OFS/DTMLMethod.py ###
@@ -127,7 +129,7 @@
security=getSecurityManager()
security.addContext(self)
try:
- r = Globals.HTML.__call__(self, client, REQUEST, **kw)
+ r = HTML.__call__(self, client, REQUEST, **kw)
if client is None:
# Called as subtemplate, so don't need error propagation!
@@ -195,7 +197,7 @@
security.declareProtected(ViewManagementScreens, 'manage_haveProxy')
manage_haveProxy = DTMLMethod.manage_haveProxy.im_func
-Globals.InitializeClass(FSDTMLMethod)
+InitializeClass(FSDTMLMethod)
registerFileExtension('dtml', FSDTMLMethod)
registerMetaType('DTML Method', FSDTMLMethod)
Modified: Products.CMFCore/trunk/Products/CMFCore/FSFile.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSFile.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSFile.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,23 +17,24 @@
import codecs
-import Globals
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Cache import Cacheable
from OFS.Image import File
from zope.contenttype import guess_content_type
-from DirectoryView import registerFileExtension
-from DirectoryView import registerMetaType
-from FSObject import FSObject
-from permissions import FTPAccess
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import _checkConditionalGET
-from utils import _dtmldir
-from utils import _FSCacheHeaders
-from utils import _setCacheHeaders
-from utils import _ViewEmulator
+from Products.CMFCore.DirectoryView import registerFileExtension
+from Products.CMFCore.DirectoryView import registerMetaType
+from Products.CMFCore.FSObject import FSObject
+from Products.CMFCore.permissions import FTPAccess
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _checkConditionalGET
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _FSCacheHeaders
+from Products.CMFCore.utils import _setCacheHeaders
+from Products.CMFCore.utils import _ViewEmulator
class FSFile(FSObject):
@@ -51,7 +52,7 @@
security.declareObjectProtected(View)
security.declareProtected(ViewManagementScreens, 'manage_main')
- manage_main = Globals.DTMLFile('custfile', _dtmldir)
+ manage_main = DTMLFile('custfile', _dtmldir)
def __init__(self, id, filepath, fullname=None, properties=None):
id = fullname or id # Use the whole filename.
@@ -164,7 +165,7 @@
security.declareProtected(FTPAccess, 'manage_FTPget')
manage_FTPget = index_html
-Globals.InitializeClass(FSFile)
+InitializeClass(FSFile)
registerFileExtension('doc', FSFile)
registerFileExtension('txt', FSFile)
Modified: Products.CMFCore/trunk/Products/CMFCore/FSImage.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSImage.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSImage.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,22 +15,24 @@
$Id$
"""
-import Globals
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Cache import Cacheable
-from OFS.Image import Image, getImageInfo
+from OFS.Image import getImageInfo
+from OFS.Image import Image
-from DirectoryView import registerFileExtension
-from DirectoryView import registerMetaType
-from FSObject import FSObject
-from permissions import FTPAccess
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import _checkConditionalGET
-from utils import _dtmldir
-from utils import _FSCacheHeaders
-from utils import _setCacheHeaders
-from utils import _ViewEmulator
+from Products.CMFCore.DirectoryView import registerFileExtension
+from Products.CMFCore.DirectoryView import registerMetaType
+from Products.CMFCore.FSObject import FSObject
+from Products.CMFCore.permissions import FTPAccess
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _checkConditionalGET
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _FSCacheHeaders
+from Products.CMFCore.utils import _setCacheHeaders
+from Products.CMFCore.utils import _ViewEmulator
class FSImage(FSObject):
@@ -52,7 +54,7 @@
security.declareObjectProtected(View)
security.declareProtected(ViewManagementScreens, 'manage_main')
- manage_main = Globals.DTMLFile('custimage', _dtmldir)
+ manage_main = DTMLFile('custimage', _dtmldir)
def __init__(self, id, filepath, fullname=None, properties=None):
id = fullname or id # Use the whole filename.
@@ -153,7 +155,7 @@
security.declareProtected(FTPAccess, 'manage_FTPget')
manage_FTPget = index_html
-Globals.InitializeClass(FSImage)
+InitializeClass(FSImage)
registerFileExtension('gif', FSImage)
registerFileExtension('jpg', FSImage)
Modified: Products.CMFCore/trunk/Products/CMFCore/FSObject.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSObject.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSObject.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,25 +15,26 @@
$Id$
"""
-from os import path, stat
+import os
-import Globals
-from AccessControl import ClassSecurityInfo
from AccessControl.Permission import Permission
from AccessControl.Role import RoleManager
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base
from Acquisition import aq_inner
from Acquisition import aq_parent
from Acquisition import Implicit
-from DateTime import DateTime
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import HTML
+from DateTime.DateTime import DateTime
from OFS.Cache import Cacheable
from OFS.SimpleItem import Item
from Products.PythonScripts.standard import html_quote
-from permissions import ManagePortal
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import getToolByName
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import getToolByName
class FSObject(Implicit, Item, RoleManager, Cacheable):
@@ -70,7 +71,7 @@
self._filepath = filepath
try:
- self._file_mod_time = stat(filepath)[8]
+ self._file_mod_time = os.stat(filepath)[8]
except:
pass
self._readFile(0)
@@ -166,10 +167,11 @@
# Refresh our contents from the filesystem if that is newer and we are
# running in debug mode.
def _updateFromFS(self):
+ import Globals # for data
parsed = self._parsed
if not parsed or Globals.DevelopmentMode:
try:
- mtime = stat(self._filepath)[8]
+ mtime = os.stat(self._filepath)[8]
except:
mtime = 0
if not parsed or mtime != self._file_mod_time:
@@ -182,7 +184,7 @@
security.declareProtected(View, 'get_size')
def get_size(self):
"""Get the size of the underlying file."""
- return path.getsize(self._filepath)
+ return os.path.getsize(self._filepath)
security.declareProtected(View, 'getModTime')
def getModTime(self):
@@ -199,7 +201,7 @@
self._updateFromFS()
return self._filepath
-Globals.InitializeClass(FSObject)
+InitializeClass(FSObject)
class BadFile(FSObject):
@@ -239,7 +241,7 @@
security = ClassSecurityInfo()
- showError = Globals.HTML( BAD_FILE_VIEW )
+ showError = HTML( BAD_FILE_VIEW )
security.declareProtected(ManagePortal, 'manage_showError')
def manage_showError( self, REQUEST ):
"""
@@ -275,4 +277,4 @@
"""
return self.exc_str
-Globals.InitializeClass( BadFile )
+InitializeClass( BadFile )
Modified: Products.CMFCore/trunk/Products/CMFCore/FSPageTemplate.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSPageTemplate.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSPageTemplate.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,26 +17,29 @@
import re
-import Globals
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Cache import Cacheable
from Products.PageTemplates.PageTemplate import PageTemplate
-from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate, Src
+from Products.PageTemplates.utils import encodingFromXMLPreamble
+from Products.PageTemplates.utils import charsetFromMetaEquiv
+from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
+from Products.PageTemplates.ZopePageTemplate import Src
from Shared.DC.Scripts.Script import Script
-from DirectoryView import registerFileExtension
-from DirectoryView import registerMetaType
-from FSObject import FSObject
-from permissions import FTPAccess
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import _checkConditionalGET
-from utils import _dtmldir
-from utils import _setCacheHeaders
+from Products.CMFCore.DirectoryView import registerFileExtension
+from Products.CMFCore.DirectoryView import registerMetaType
+from Products.CMFCore.FSObject import FSObject
+from Products.CMFCore.permissions import FTPAccess
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _checkConditionalGET
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _setCacheHeaders
-from Products.PageTemplates.utils import encodingFromXMLPreamble, charsetFromMetaEquiv
xml_detect_re = re.compile('^\s*<\?xml\s+(?:[^>]*?encoding=["\']([^"\'>]+))?')
_marker = object()
@@ -58,7 +61,7 @@
security.declareObjectProtected(View)
security.declareProtected(ViewManagementScreens, 'manage_main')
- manage_main = Globals.DTMLFile('custpt', _dtmldir)
+ manage_main = DTMLFile('custpt', _dtmldir)
# Declare security for unprotected PageTemplate methods.
security.declarePrivate('pt_edit', 'write')
@@ -111,7 +114,8 @@
elif self.content_type.startswith('text/xml'):
charset = encodingFromXMLPreamble(data)
else:
- raise ValueError('Unsupported content-type: %s' % self.content_type)
+ raise ValueError('Unsupported content-type: %s'
+ % self.content_type)
if not isinstance(data, unicode):
data = unicode(data, charset)
@@ -245,7 +249,7 @@
setattr(FSPageTemplate, 'source.xml', FSPageTemplate.source_dot_xml)
setattr(FSPageTemplate, 'source.html', FSPageTemplate.source_dot_xml)
-Globals.InitializeClass(FSPageTemplate)
+InitializeClass(FSPageTemplate)
registerFileExtension('pt', FSPageTemplate)
registerFileExtension('zpt', FSPageTemplate)
Modified: Products.CMFCore/trunk/Products/CMFCore/FSPropertiesObject.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSPropertiesObject.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSPropertiesObject.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,9 +15,11 @@
$Id$
"""
-import Globals
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import ImplicitAcquisitionWrapper
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
+import Globals # for data
from OFS.Folder import Folder
from OFS.PropertyManager import PropertyManager
from ZPublisher.Converters import get_converter
@@ -40,7 +42,7 @@
security = ClassSecurityInfo()
security.declareProtected(ViewManagementScreens, 'manage_main')
- manage_main = Globals.DTMLFile('custprops', _dtmldir)
+ manage_main = DTMLFile('custprops', _dtmldir)
# Declare all (inherited) mutating methods private.
security.declarePrivate('manage_addProperty')
@@ -138,7 +140,7 @@
self._updateFromFS()
return self
-Globals.InitializeClass(FSPropertiesObject)
+InitializeClass(FSPropertiesObject)
registerFileExtension('props', FSPropertiesObject)
registerMetaType('Properties Object', FSPropertiesObject)
Modified: Products.CMFCore/trunk/Products/CMFCore/FSPythonScript.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSPythonScript.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSPythonScript.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -18,23 +18,23 @@
from difflib import unified_diff
import new
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
from ComputedAttribute import ComputedAttribute
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Cache import Cacheable
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Products.PythonScripts.PythonScript import PythonScript
from Shared.DC.Scripts.Script import Script
-from DirectoryView import registerFileExtension
-from DirectoryView import registerMetaType
-from FSObject import FSObject
-from permissions import FTPAccess
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import _dtmldir
+from Products.CMFCore.DirectoryView import registerFileExtension
+from Products.CMFCore.DirectoryView import registerMetaType
+from Products.CMFCore.FSObject import FSObject
+from Products.CMFCore.permissions import FTPAccess
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _dtmldir
_marker = object()
Modified: Products.CMFCore/trunk/Products/CMFCore/FSReSTMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSReSTMethod.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSReSTMethod.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,12 +15,12 @@
$Id$
"""
-
-from AccessControl import ClassSecurityInfo
from docutils.core import publish_parts
from docutils.writers.html4css1 import Writer
-from Globals import DTMLFile
-from Globals import InitializeClass
+
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.ZReST.ZReST import Warnings
Modified: Products.CMFCore/trunk/Products/CMFCore/FSSTXMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSSTXMethod.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSSTXMethod.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -16,10 +16,10 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from DocumentTemplate.DT_HTML import HTML as DTML_HTML
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.DTMLDocument import DTMLDocument
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from zope.structuredtext import stx2html
Modified: Products.CMFCore/trunk/Products/CMFCore/FSZSQLMethod.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/FSZSQLMethod.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/FSZSQLMethod.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,17 +17,19 @@
import logging
-import Globals
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import ImplicitAcquisitionWrapper
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
+import Globals # for data
from Products.ZSQLMethods.SQL import SQL
-from DirectoryView import registerFileExtension
-from DirectoryView import registerMetaType
-from FSObject import FSObject
-from permissions import View
-from permissions import ViewManagementScreens
-from utils import _dtmldir
+from Products.CMFCore.DirectoryView import registerFileExtension
+from Products.CMFCore.DirectoryView import registerMetaType
+from Products.CMFCore.FSObject import FSObject
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _dtmldir
logger = logging.getLogger('CMFCore.FSZSQLMethod')
@@ -55,7 +57,7 @@
manage=None
security.declareProtected(ViewManagementScreens, 'manage_customise')
- manage_customise = Globals.DTMLFile('custzsql', _dtmldir)
+ manage_customise = DTMLFile('custzsql', _dtmldir)
def __init__(self, id, filepath, fullname=None, properties=None):
FSObject.__init__(self, id, filepath, fullname, properties)
@@ -144,7 +146,7 @@
logger.exception("Error during __of__")
raise
-Globals.InitializeClass(FSZSQLMethod)
+InitializeClass(FSZSQLMethod)
registerFileExtension('zsql', FSZSQLMethod)
registerMetaType('Z SQL Method', FSZSQLMethod)
Modified: Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,26 +15,26 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_inner, aq_parent, aq_base
from BTrees.OOBTree import OOBTree
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.PropertyManager import PropertyManager
from OFS.SimpleItem import SimpleItem
from zope.interface import implements
from ZPublisher.Converters import type_converters
-from exceptions import BadRequest
-from interfaces import IMemberData
-from interfaces import IMemberDataTool
-from permissions import ManagePortal
-from permissions import SetOwnProperties
-from permissions import ViewManagementScreens
-from utils import _dtmldir
-from utils import getToolByName
-from utils import registerToolInterface
-from utils import UniqueObject
+from Products.CMFCore.exceptions import BadRequest
+from Products.CMFCore.interfaces import IMemberData
+from Products.CMFCore.interfaces import IMemberDataTool
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import SetOwnProperties
+from Products.CMFCore.permissions import ViewManagementScreens
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import registerToolInterface
+from Products.CMFCore.utils import UniqueObject
_marker = [] # Create a new marker object.
Modified: Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -17,37 +17,37 @@
import logging
from warnings import warn
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from AccessControl.requestmethod import postonly
from AccessControl.User import nobody
from Acquisition import aq_base
from Acquisition import aq_inner
from Acquisition import aq_parent
-from Globals import DTMLFile
-from Globals import InitializeClass
-from Globals import MessageDialog
-from Globals import PersistentMapping
+from App.class_init import default__class_init__ as InitializeClass
+from App.Dialogs import MessageDialog
+from App.special_dtml import DTMLFile
from OFS.Folder import Folder
+from Persistence import PersistentMapping
from ZODB.POSException import ConflictError
from zope.component import getUtility
from zope.interface import implements
-from exceptions import AccessControl_Unauthorized
-from exceptions import BadRequest
-from interfaces import IMembershipTool
-from interfaces import ISiteRoot
-from permissions import AccessContentsInformation
-from permissions import ChangeLocalRoles
-from permissions import ListPortalMembers
-from permissions import ManagePortal
-from permissions import ManageUsers
-from permissions import SetOwnPassword
-from permissions import View
-from utils import _checkPermission
-from utils import _dtmldir
-from utils import _getAuthenticatedUser
-from utils import getToolByName
-from utils import UniqueObject
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFCore.exceptions import BadRequest
+from Products.CMFCore.interfaces import IMembershipTool
+from Products.CMFCore.interfaces import ISiteRoot
+from Products.CMFCore.permissions import AccessContentsInformation
+from Products.CMFCore.permissions import ChangeLocalRoles
+from Products.CMFCore.permissions import ListPortalMembers
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import ManageUsers
+from Products.CMFCore.permissions import SetOwnPassword
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _getAuthenticatedUser
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import UniqueObject
logger = logging.getLogger('CMFCore.MembershipTool')
Modified: Products.CMFCore/trunk/Products/CMFCore/PortalContent.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/PortalContent.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/PortalContent.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,20 +15,20 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
from OFS.SimpleItem import SimpleItem
from zope.interface import implements
-from CMFCatalogAware import CMFCatalogAware
-from DynamicType import DynamicType
-from exceptions import NotFound
-from exceptions import ResourceLockedError
-from interfaces import IContentish
-from permissions import FTPAccess
-from permissions import View
-from utils import Message as _
+from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
+from Products.CMFCore.DynamicType import DynamicType
+from Products.CMFCore.exceptions import NotFound
+from Products.CMFCore.exceptions import ResourceLockedError
+from Products.CMFCore.interfaces import IContentish
+from Products.CMFCore.permissions import FTPAccess
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import Message as _
class PortalContent(DynamicType, CMFCatalogAware, SimpleItem):
Modified: Products.CMFCore/trunk/Products/CMFCore/PortalFolder.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/PortalFolder.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/PortalFolder.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -20,32 +20,32 @@
import re
from warnings import warn
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
from Acquisition import aq_parent, aq_inner, aq_base
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
from OFS.Folder import Folder
from OFS.OrderSupport import OrderSupport
from zope.component.factory import Factory
from zope.interface import implements
-from CMFCatalogAware import CMFCatalogAware
-from DynamicType import DynamicType
-from exceptions import AccessControl_Unauthorized
-from exceptions import BadRequest
-from exceptions import zExceptions_Unauthorized
-from interfaces import IFolderish
-from interfaces import IMutableMinimalDublinCore
-from interfaces import ISiteRoot
-from permissions import AddPortalContent
-from permissions import AddPortalFolders
-from permissions import DeleteObjects
-from permissions import ListFolderContents
-from permissions import ManagePortal
-from permissions import ManageProperties
-from permissions import View
-from utils import _checkPermission
-from utils import getToolByName
+from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
+from Products.CMFCore.DynamicType import DynamicType
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFCore.exceptions import BadRequest
+from Products.CMFCore.exceptions import zExceptions_Unauthorized
+from Products.CMFCore.interfaces import IFolderish
+from Products.CMFCore.interfaces import IMutableMinimalDublinCore
+from Products.CMFCore.interfaces import ISiteRoot
+from Products.CMFCore.permissions import AddPortalContent
+from Products.CMFCore.permissions import AddPortalFolders
+from Products.CMFCore.permissions import DeleteObjects
+from Products.CMFCore.permissions import ListFolderContents
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import ManageProperties
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import getToolByName
class PortalFolderBase(DynamicType, CMFCatalogAware, Folder):
Modified: Products.CMFCore/trunk/Products/CMFCore/PortalObject.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/PortalObject.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/PortalObject.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,23 +15,23 @@
$Id$
"""
+from App.class_init import default__class_init__ as InitializeClass
from five.localsitemanager.registry import PersistentComponents
-from Globals import InitializeClass
from Products.Five.component.interfaces import IObjectManagerSite
from zope.app.publication.zopepublication import BeforeTraverseEvent
from zope.component.interfaces import ComponentLookupError
from zope.event import notify
from zope.interface import implements
-from interfaces import ISiteRoot
-from permissions import AddPortalMember
-from permissions import SetOwnPassword
-from permissions import SetOwnProperties
-from permissions import MailForgottenPassword
-from permissions import RequestReview
-from permissions import ReviewPortalContent
-from PortalFolder import PortalFolder
-from Skinnable import SkinnableObjectManager
+from Products.CMFCore.interfaces import ISiteRoot
+from Products.CMFCore.permissions import AddPortalMember
+from Products.CMFCore.permissions import SetOwnPassword
+from Products.CMFCore.permissions import SetOwnProperties
+from Products.CMFCore.permissions import MailForgottenPassword
+from Products.CMFCore.permissions import RequestReview
+from Products.CMFCore.permissions import ReviewPortalContent
+from Products.CMFCore.PortalFolder import PortalFolder
+from Products.CMFCore.Skinnable import SkinnableObjectManager
PORTAL_SKINS_TOOL_ID = 'portal_skins'
Modified: Products.CMFCore/trunk/Products/CMFCore/RegistrationTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/RegistrationTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/RegistrationTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,26 +15,26 @@
$Id$
"""
+from random import choice
import re
-from random import choice
-from AccessControl import ClassSecurityInfo
from AccessControl.requestmethod import postonly
-from Globals import DTMLFile
-from Globals import InitializeClass
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem
from zope.interface import implements
-from interfaces import IRegistrationTool
-from permissions import AddPortalMember
-from permissions import MailForgottenPassword
-from permissions import ManagePortal
-from utils import _checkPermission
-from utils import _dtmldir
-from utils import _limitGrantedRoles
-from utils import getToolByName
-from utils import Message as _
-from utils import UniqueObject
+from Products.CMFCore.interfaces import IRegistrationTool
+from Products.CMFCore.permissions import AddPortalMember
+from Products.CMFCore.permissions import MailForgottenPassword
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _limitGrantedRoles
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import Message as _
+from Products.CMFCore.utils import UniqueObject
class RegistrationTool(UniqueObject, SimpleItem):
Modified: Products.CMFCore/trunk/Products/CMFCore/Skinnable.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/Skinnable.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/Skinnable.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -22,9 +22,9 @@
from thread import get_ident
from warnings import warn
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
from OFS.ObjectManager import ObjectManager
from ZODB.POSException import ConflictError
Modified: Products.CMFCore/trunk/Products/CMFCore/SkinsContainer.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/SkinsContainer.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/SkinsContainer.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,14 +15,14 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
from zope.interface import implements
-from exceptions import SkinPathError
-from interfaces import ISkinsContainer
-from permissions import AccessContentsInformation
+from Products.CMFCore.exceptions import SkinPathError
+from Products.CMFCore.interfaces import ISkinsContainer
+from Products.CMFCore.permissions import AccessContentsInformation
class SkinsContainer:
Modified: Products.CMFCore/trunk/Products/CMFCore/SkinsTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/SkinsTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/SkinsTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -14,34 +14,34 @@
$Id$
"""
+from difflib import unified_diff
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_base
from DateTime import DateTime
-from Globals import DTMLFile
-from Globals import InitializeClass
-from Globals import PersistentMapping
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
+import Globals # for data
from OFS.DTMLMethod import DTMLMethod
from OFS.Folder import Folder
from OFS.Image import Image
-from OFS.ObjectManager import REPLACEABLE
+from Persistence import PersistentMapping
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
from Products.PythonScripts.PythonScript import PythonScript
from zope.interface import implements
-from ActionProviderBase import ActionProviderBase
-from DirectoryView import base_ignore
-from DirectoryView import ignore
-from DirectoryView import ignore_re
-from interfaces import ISkinsTool
-from permissions import AccessContentsInformation
-from permissions import ManagePortal
-from permissions import View
-from SkinsContainer import SkinsContainer
-from utils import _dtmldir
-from utils import getToolByName
-from utils import UniqueObject
-from difflib import unified_diff
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.DirectoryView import base_ignore
+from Products.CMFCore.DirectoryView import ignore
+from Products.CMFCore.DirectoryView import ignore_re
+from Products.CMFCore.interfaces import ISkinsTool
+from Products.CMFCore.permissions import AccessContentsInformation
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import View
+from Products.CMFCore.SkinsContainer import SkinsContainer
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import UniqueObject
def modifiedOptions():
# Remove the existing "Properties" option and add our own.
@@ -221,7 +221,7 @@
return None
# Make the PUT_factory replaceable
- PUT_factory__replaceable__ = REPLACEABLE
+ PUT_factory__replaceable__ = Globals.REPLACEABLE
security.declarePrivate('testSkinPath')
Modified: Products.CMFCore/trunk/Products/CMFCore/TypesTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/TypesTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/TypesTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -18,13 +18,12 @@
import logging
from warnings import warn
-import Products
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
from Acquisition import aq_base
from Acquisition import aq_get
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Folder import Folder
from OFS.ObjectManager import IFAwareObjectManager
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
@@ -38,23 +37,23 @@
from zope.interface import implements
from zope.lifecycleevent import ObjectCreatedEvent
-from ActionProviderBase import ActionProviderBase
-from exceptions import AccessControl_Unauthorized
-from exceptions import BadRequest
-from exceptions import zExceptions_Unauthorized
-from Expression import Expression
-from interfaces import IAction
-from interfaces import ITypeInformation
-from interfaces import ITypesTool
-from permissions import AccessContentsInformation
-from permissions import AddPortalContent
-from permissions import ManagePortal
-from permissions import View
-from utils import _checkPermission
-from utils import _dtmldir
-from utils import _wwwdir
-from utils import SimpleItemWithProperties
-from utils import UniqueObject
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFCore.exceptions import BadRequest
+from Products.CMFCore.exceptions import zExceptions_Unauthorized
+from Products.CMFCore.Expression import Expression
+from Products.CMFCore.interfaces import IAction
+from Products.CMFCore.interfaces import ITypeInformation
+from Products.CMFCore.interfaces import ITypesTool
+from Products.CMFCore.permissions import AccessContentsInformation
+from Products.CMFCore.permissions import AddPortalContent
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _wwwdir
+from Products.CMFCore.utils import SimpleItemWithProperties
+from Products.CMFCore.utils import UniqueObject
logger = logging.getLogger('CMFCore.TypesTool')
@@ -626,6 +625,7 @@
def all_meta_types(self, interfaces=None):
# this is a workaround and should be removed again if allowedTypes
# have an interface we can use in _product_interfaces
+ import Products
all = TypesTool.inheritedAttribute('all_meta_types')(self)
others = [ mt for mt in Products.meta_types
if mt['name'] in allowedTypes ]
@@ -640,6 +640,7 @@
"""Create a TypeInformation in self.
"""
# BBB: typeinfo_name is ignored
+ import Products
if not id:
raise BadRequest('An id is required.')
for mt in Products.meta_types:
Modified: Products.CMFCore/trunk/Products/CMFCore/URLTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/URLTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/URLTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,20 +15,20 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from Acquisition import aq_inner
from Acquisition import aq_parent
-from Globals import DTMLFile
-from Globals import InitializeClass
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem
from zope.interface import implements
-from ActionProviderBase import ActionProviderBase
-from interfaces import IURLTool
-from permissions import ManagePortal
-from permissions import View
-from utils import _dtmldir
-from utils import UniqueObject
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.interfaces import IURLTool
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.permissions import View
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import UniqueObject
class URLTool(UniqueObject, SimpleItem, ActionProviderBase):
Modified: Products.CMFCore/trunk/Products/CMFCore/UndoTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/UndoTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/UndoTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,21 +15,21 @@
$Id$
"""
-from AccessControl import ClassSecurityInfo
-from Globals import DTMLFile
-from Globals import InitializeClass
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem
from zope.interface import implements
-from exceptions import AccessControl_Unauthorized
-from interfaces import IUndoTool
-from permissions import ListUndoableChanges
-from permissions import ManagePortal
-from utils import _checkPermission
-from utils import _dtmldir
-from utils import _getAuthenticatedUser
-from utils import registerToolInterface
-from utils import UniqueObject
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFCore.interfaces import IUndoTool
+from Products.CMFCore.permissions import ListUndoableChanges
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _checkPermission
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import _getAuthenticatedUser
+from Products.CMFCore.utils import registerToolInterface
+from Products.CMFCore.utils import UniqueObject
class UndoTool(UniqueObject, SimpleItem):
Modified: Products.CMFCore/trunk/Products/CMFCore/WorkflowTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/WorkflowTool.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/WorkflowTool.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -18,32 +18,32 @@
import sys
from warnings import warn
-from AccessControl import ClassSecurityInfo
+from AccessControl.SecurityInfo import ClassSecurityInfo
from AccessControl.requestmethod import postonly
from Acquisition import aq_base, aq_inner, aq_parent
-from Globals import DTMLFile
-from Globals import InitializeClass
-from Globals import PersistentMapping
+from App.class_init import default__class_init__ as InitializeClass
+from App.special_dtml import DTMLFile
from OFS.Folder import Folder
from OFS.ObjectManager import IFAwareObjectManager
+from Persistence import PersistentMapping
from zope.event import notify
from zope.interface import implements
-from ActionProviderBase import ActionProviderBase
-from interfaces import IConfigurableWorkflowTool
-from interfaces import IWorkflowDefinition
-from interfaces import IWorkflowTool
-from permissions import ManagePortal
-from utils import _dtmldir
-from utils import getToolByName
-from utils import Message as _
-from utils import UniqueObject
-from WorkflowCore import ActionRaisedExceptionEvent
-from WorkflowCore import ActionSucceededEvent
-from WorkflowCore import ActionWillBeInvokedEvent
-from WorkflowCore import ObjectDeleted
-from WorkflowCore import ObjectMoved
-from WorkflowCore import WorkflowException
+from Products.CMFCore.ActionProviderBase import ActionProviderBase
+from Products.CMFCore.interfaces import IConfigurableWorkflowTool
+from Products.CMFCore.interfaces import IWorkflowDefinition
+from Products.CMFCore.interfaces import IWorkflowTool
+from Products.CMFCore.permissions import ManagePortal
+from Products.CMFCore.utils import _dtmldir
+from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import Message as _
+from Products.CMFCore.utils import UniqueObject
+from Products.CMFCore.WorkflowCore import ActionRaisedExceptionEvent
+from Products.CMFCore.WorkflowCore import ActionSucceededEvent
+from Products.CMFCore.WorkflowCore import ActionWillBeInvokedEvent
+from Products.CMFCore.WorkflowCore import ObjectDeleted
+from Products.CMFCore.WorkflowCore import ObjectMoved
+from Products.CMFCore.WorkflowCore import WorkflowException
_marker = [] # Create a new marker object.
Modified: Products.CMFCore/trunk/Products/CMFCore/permissions.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/permissions.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/permissions.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -15,12 +15,11 @@
$Id$
"""
-import Products
-from AccessControl import ModuleSecurityInfo
from AccessControl import Permissions
from AccessControl.Permission import _registeredPermissions
from AccessControl.Permission import pname
-from Globals import ApplicationDefaultPermissions
+from AccessControl.SecurityInfo import ModuleSecurityInfo
+from App.class_init import ApplicationDefaultPermissions
security = ModuleSecurityInfo('Products.CMFCore.permissions')
@@ -61,6 +60,7 @@
'''
Sets the defaults roles for a permission.
'''
+ import Products
# XXX This ought to be in AccessControl.SecurityInfo.
registered = _registeredPermissions
if not registered.has_key(permission):
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -6,8 +6,6 @@
from os.path import join
from tempfile import mktemp
-from Globals import DevelopmentMode
-
from Products.CMFCore.tests import _globals
from Products.CMFCore.tests.base.dummy import DummyFolder
from Products.CMFCore.tests.base.testcase import FSDVTest
@@ -285,10 +283,8 @@
self.failUnless(isinstance(testfolder, DummyDirectoryViewSurrogate))
-if DevelopmentMode:
+class DebugModeTests(WritableFSDVTest):
- class DebugModeTests(WritableFSDVTest):
-
def setUp( self ):
WritableFSDVTest.setUp(self)
self.test1path = join(self.skin_path_name,'test1.py')
@@ -318,7 +314,8 @@
def test_NewFolder( self ):
# See if a new folder shows up
from Products.CMFCore.DirectoryView import DirectoryViewSurrogate
- self.failUnless(isinstance(self.ob.fake_skin.test3,DirectoryViewSurrogate))
+ self.failUnless(isinstance(self.ob.fake_skin.test3,
+ DirectoryViewSurrogate))
self.ob.fake_skin.test3.objectIds()
def test_DeleteMethod( self ):
@@ -350,20 +347,17 @@
rmdir(self.test3path)
self.failIf(hasattr(self.ob.fake_skin,'test3'))
-else:
- class DebugModeTests(unittest.TestCase):
- pass
-
-
def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(DirectoryViewPathTests),
- unittest.makeSuite(DirectoryViewTests),
- unittest.makeSuite(DirectoryViewIgnoreTests),
- unittest.makeSuite(DirectoryViewFolderTests),
- unittest.makeSuite(DebugModeTests),
- ))
+ import Globals # for data
+ tests = [unittest.makeSuite(DirectoryViewPathTests),
+ unittest.makeSuite(DirectoryViewTests),
+ unittest.makeSuite(DirectoryViewIgnoreTests),
+ unittest.makeSuite(DirectoryViewFolderTests),
+ ]
+ if Globals.DevelopmentMode:
+ tests.append(unittest.makeSuite(DebugModeTests))
+ return unittest.TestSuite(tests)
if __name__ == '__main__':
unittest.main(defaultTest='test_suite')
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSecurity.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSecurity.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_FSSecurity.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -21,7 +21,6 @@
from time import sleep
from AccessControl.Permission import Permission
-from Globals import DevelopmentMode
from Products.CMFCore.tests.base.testcase import LogInterceptor
from Products.CMFCore.tests.base.testcase import RequestTest
@@ -78,8 +77,10 @@
# check a normal method is as we'd expect
self._checkSettings(self.ob.fake_skin.test1,'View',1,[])
# now do some checks on the method with FS permissions
- self._checkSettings(self.ob.fake_skin.test4,'View',1,['Manager','Owner'])
- self._checkSettings(self.ob.fake_skin.test4,'Access contents information',0,[])
+ self._checkSettings(self.ob.fake_skin.test4,
+ 'View',1,['Manager','Owner'])
+ self._checkSettings(self.ob.fake_skin.test4,
+ 'Access contents information',0,[])
def test_invalidPermissionNames( self ):
import logging
@@ -102,85 +103,81 @@
# check baseline
self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
-if DevelopmentMode:
+class DebugModeTests( FSSecurityBase ):
- class DebugModeTests( FSSecurityBase ):
+ def test_addPRM( self ):
+ # Test adding of a .metadata
+ # baseline
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
+ # add
+ self._writeFile('test5.py.metadata',
+ '[security]\nView = 1:Manager')
+ # test
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
- def test_addPRM( self ):
- # Test adding of a .metadata
- # baseline
- self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
- # add
- self._writeFile('test5.py.metadata',
- '[security]\nView = 1:Manager')
- # test
- self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
+ def test_delPRM( self ):
+ # Test deleting of a .metadata
+ # baseline
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
+ self._writeFile('test5.py.metadata',
+ '[security]\nView = 1:Manager')
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
+ # delete
+ self._deleteFile('test5.py.metadata')
+ # test
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
- def test_delPRM( self ):
- # Test deleting of a .metadata
- # baseline
- self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
- self._writeFile('test5.py.metadata',
- '[security]\nView = 1:Manager')
- self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
- # delete
- self._deleteFile('test5.py.metadata')
- # test
- self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
+ def test_editPRM( self ):
+ # Test editing a .metadata
+ # we need to wait a second here or the mtime will actually
+ # have the same value as set in the last test.
+ # Maybe someone brainier than me can figure out a way to make this
+ # suck less :-(
+ sleep(1)
- def test_editPRM( self ):
- # Test editing a .metadata
- # we need to wait a second here or the mtime will actually
- # have the same value as set in the last test.
- # Maybe someone brainier than me can figure out a way to make this
- # suck less :-(
- sleep(1)
+ # baseline
+ self._writeFile('test5.py.metadata',
+ '[security]\nView = 0:Manager,Anonymous')
+ self._checkSettings(self.ob.fake_skin.test5,
+ 'View',0,['Manager','Anonymous'])
+ # edit
+ self._writeFile('test5.py.metadata',
+ '[security]\nView = 1:Manager')
+ # test
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
- # baseline
- self._writeFile('test5.py.metadata',
- '[security]\nView = 0:Manager,Anonymous')
- self._checkSettings(self.ob.fake_skin.test5,'View',0,['Manager','Anonymous'])
- # edit
- self._writeFile('test5.py.metadata',
- '[security]\nView = 1:Manager')
- # test
- self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
+ def test_DelAddEditPRM( self ):
+ # Test deleting, then adding, then editing a .metadata file
+ # baseline
+ self._writeFile('test5.py.metadata','[security]\nView = 0:Manager')
+ # delete
+ self._deleteFile('test5.py.metadata')
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
- def test_DelAddEditPRM( self ):
- # Test deleting, then adding, then editing a .metadata file
- # baseline
- self._writeFile('test5.py.metadata','[security]\nView = 0:Manager')
- # delete
- self._deleteFile('test5.py.metadata')
- self._checkSettings(self.ob.fake_skin.test5,'View',1,[])
+ # we need to wait a second here or the mtime will actually
+ # have the same value, no human makes two edits in less
+ # than a second ;-)
+ sleep(1)
- # we need to wait a second here or the mtime will actually
- # have the same value, no human makes two edits in less
- # than a second ;-)
- sleep(1)
+ # add back
+ self._writeFile('test5.py.metadata',
+ '[security]\nView = 0:Manager,Anonymous')
+ self._checkSettings(self.ob.fake_skin.test5,
+ 'View',0,['Manager','Anonymous'])
- # add back
- self._writeFile('test5.py.metadata',
- '[security]\nView = 0:Manager,Anonymous')
- self._checkSettings(self.ob.fake_skin.test5,'View',0,['Manager','Anonymous'])
+ # edit
+ self._writeFile('test5.py.metadata',
+ '[security]\nView = 1:Manager')
+ # test
+ self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
- # edit
- self._writeFile('test5.py.metadata',
- '[security]\nView = 1:Manager')
- # test
- self._checkSettings(self.ob.fake_skin.test5,'View',1,['Manager'])
-
-else:
-
- class DebugModeTests( FSSecurityBase ):
- pass
-
-
def test_suite():
- return unittest.TestSuite((
- unittest.makeSuite(FSSecurityTests),
- unittest.makeSuite(DebugModeTests),
- ))
+ import Globals # for data
+ tests = [unittest.makeSuite(FSSecurityTests)]
+ if Globals.DevelopmentMode:
+ tests.append(unittest.makeSuite(DebugModeTests))
+ return unittest.TestSuite(tests)
+
if __name__ == '__main__':
unittest.main(defaultTest='test_suite')
Modified: Products.CMFCore/trunk/Products/CMFCore/utils.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/utils.py 2008-12-27 19:43:26 UTC (rev 94383)
+++ Products.CMFCore/trunk/Products/CMFCore/utils.py 2008-12-27 20:52:41 UTC (rev 94384)
@@ -22,25 +22,24 @@
from warnings import warn
import sys
-from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
-from AccessControl import ModuleSecurityInfo
from AccessControl.Permission import Permission
from AccessControl.PermissionRole import rolesForPermissionOn
from AccessControl.Role import gather_permissions
+from AccessControl.SecurityInfo import ClassSecurityInfo
+from AccessControl.SecurityInfo import ModuleSecurityInfo
+from AccessControl.SecurityManagement import getSecurityManager
from Acquisition.interfaces import IAcquirer
from Acquisition import aq_get
from Acquisition import aq_inner
from Acquisition import aq_parent
from Acquisition import Implicit
-from DateTime import DateTime
+from App.class_init import default__class_init__ as InitializeClass
+from App.Common import package_home
+from App.Dialogs import MessageDialog
+from App.ImageFile import ImageFile
+from App.special_dtml import HTMLFile
+from DateTime.DateTime import DateTime
from ExtensionClass import Base
-from Globals import HTMLFile
-from Globals import ImageFile
-from Globals import InitializeClass
-from Globals import MessageDialog
-from Globals import package_home
-from Globals import UNIQUE
from OFS.misc_ import misc_ as misc_images
from OFS.misc_ import Misc_ as MiscImage
from OFS.PropertyManager import PropertyManager
@@ -53,8 +52,8 @@
from zope.dottedname.resolve import resolve as resolve_dotted_name
from zope.i18nmessageid import MessageFactory
-from exceptions import AccessControl_Unauthorized
-from exceptions import NotFound
+from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFCore.exceptions import NotFound
SUBTEMPLATE = '__SUBTEMPLATE__'
@@ -505,9 +504,13 @@
""" Base class for objects which cannot be "overridden" / shadowed.
"""
- __replaceable__ = UNIQUE
+ def _getUNIQUE(self):
+ import Globals # for data
+ return Globals.UNIQUE
+ __replaceable__ = property(_getUNIQUE,)
+
class SimpleItemWithProperties (PropertyManager, SimpleItem):
"""
A common base class for objects with configurable
More information about the Checkins
mailing list