Note that this is moot, as I've decided to use a backward-compatible mro.

That is, new-style extension classes will use an mro that is backward
compatible with old-style extension classes. They do *not* use the same
mro algorithm as new-style classes.


Tres Seaver wrote:
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

=== CMF/CMFDefault/ 1.15 => ===
--- CMF/CMFDefault/ Sat Jun 28 12:31:21 2003
+++ CMF/CMFDefault/ 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/ 1.15 => ===
--- CMF/CMFCore/ Fri Sep 12 20:46:40 2003
+++ CMF/CMFCore/ 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,
"""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.


Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714  
Zope Corporation

Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - )

Reply via email to