On Mon, 2003-11-24 at 12:03, Christian Heimes wrote:
Sidnei da Silva wrote:
I'm going to fix those (after my english class) and then try something harder ;)
Here is more stuff:
import mrohell base = mrohell.step1() mrohell.step2(base, mroonly=True) Couldn't get mro for Products.Archetypes.BaseBTreeFolder.BaseBTreeFolder Couldn't get mro for Products.Archetypes.BaseFolder.BaseFolder Couldn't get mro for Products.Archetypes.OrderedBaseFolder.OrderedBaseFolder Couldn't get mro for Products.GroupUserFolder.GroupUserFolder.GroupUserFolder Couldn't get mro for Products.CMFPlone.PloneFolder.BasePloneFolder Couldn't get mro for Products.CMFPlone.LargePloneFolder.LargePloneFolder Couldn't get mro for Products.Archetypes.BaseFolder.BaseFolderMixin Couldn't get mro for Products.CMFDefault.SkinnedFolder.SkinnedFolder Couldn't get mro for Products.CMFPlone.PloneFolder.PloneFolder Couldn't get mro for Products.Archetypes.ArchetypeTool.ArchetypeTool Couldn't get mro for Products.CMFFormController.Script.FSPythonScript Couldn't get mro for Products.CMFFormController.FSControllerValidator.FSControllerValidator Couldn't get mro for Products.CMFCore.FSPythonScript.FSPythonScript Couldn't get mro for Products.CMFFormController.FSControllerPythonScript.FSControllerPythonScript Couldn't get mro for Products.CMFCore.FSPageTemplate.FSPageTemplate Couldn't get mro for Products.CMFFormController.FSControllerPageTemplate.FSControllerPageTemplate Couldn't get mro for Products.CMFPlone.PropertiesTool.PropertiesTool Couldn't get mro for Products.CMFCore.FSZSQLMethod.FSZSQLMethod Couldn't get mro for Products.CMFPlone.FactoryTool.TempFolder Couldn't get mro for Products.Archetypes.OrderedBaseFolder.OrderedFolder Couldn't get mro for Products.Archetypes.examples.SimpleFolder.SimpleFolder 526 21 210
It seems that there are only several classes that cause problems: Products.CMFDefault.SkinnedFolder.SkinnedFolder Products.Archetypes.BaseFolder.BaseFolder Products.CMFCore.FS* Products.Archetypes.BaseFolder.BaseFolderMixin
AFAIK most of the other classes with mro problems are just subclasses of these classes above.
Jim made checkins to deal with the CMF-related MRO problems, on his 'mro-advanture-branch':: === CMF/CMFDefault/SkinnedFolder.py 1.15 => 1.15.6.1 === --- CMF/CMFDefault/SkinnedFolder.py:1.15 Sat Jun 28 12:31:21 2003 +++ CMF/CMFDefault/SkinnedFolder.py Fri Oct 31 14:24:19 2003 @@ -61,8 +61,7 @@ , ) - -class SkinnedFolder(CMFCatalogAware, PortalFolder): +class SkinnedFolder(PortalFolder): """ """ meta_type = 'Skinned Folder' @@ -70,6 +69,10 @@ security = ClassSecurityInfo() manage_options = PortalFolder.manage_options + + indexObject = CMFCatalogAware.indexObject + unindexObject = CMFCatalogAware.unindexObject + reindexObject = CMFCatalogAware.reindexObject def __call__(self): ''' === CMF/CMFCore/FSObject.py 1.15 => 1.15.2.1 === --- CMF/CMFCore/FSObject.py:1.15 Fri Sep 12 20:46:40 2003 +++ CMF/CMFCore/FSObject.py Fri Oct 31 14:24:18 2003 @@ -18,7 +18,7 @@ from string import split from os import path, stat -import Acquisition, Globals +import Acquisition, Globals, ExtensionClass from AccessControl import ClassSecurityInfo from OFS.SimpleItem import Item from DateTime import DateTime @@ -31,7 +31,7 @@ from OFS.Cache import Cacheable -class FSObject(Acquisition.Implicit, Item, Cacheable): +class FSObject(Item, Cacheable, Acquisition.Implicit, ExtensionClass.Base): """FSObject is a base class for all filesystem based look-alikes. Subclasses of this class mimic ZODB based objects like Image and I imagine making similar small changes to Archetypes won't be hard. Tres. -- =============================================================== Tres Seaver tseaver@zope.com Zope Corporation "Zope Dealers" http://www.zope.com