Yuppie wrote:
Jim Fulton wrote:


Hi Jim!

Here some feedback regarding your checkin.


> I tested CMF with Zope HEAD.
These are the issues I ran into:

1.) "from ZODB import Persistent, PersistentMapping" doesn't work anymore

Maybe Zope 2.7 should have a deprecation warning?

Hm, or maybe we should make this work for zodb. Jeremy, what do you think?

2.) assignment to class dictionaries doesn't work anymore

I copied your fix for ZopePageTemplate to FSPageTemplate. Now Zope started again.

Right. I don't see an easy way around this.

3.) 'rebinding by assignment' doesn't work anymore

With oldstyle ExtensionClasses you were able to rebind methods by assignment, without subclassing from the class that defines the method.

CMFCore/FSPageTemplate.py seems to be a good use case for that feature:

class FSPageTemplate(FSObject, Script, PageTemplate):
    pt_getContext = ZopePageTemplate.pt_getContext

Hm, this seems lame.

This works fine with Zope 2.7,

Hm, I'm surprised.

> but raises an error with Zope HEAD:

TypeError: unbound method pt_getContext() must be called with ZopePageTemplate instance as first argument (got nothing instead)

This is consistent with standard Python behavior:

>>> class X:
...   def foo(self): pass
>>> class Y:
...   foo = X.foo
>>> y = Y()
>>> y.foo()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: unbound method foo() must be called with X instance as first argument (got 
nothing instead)

So I'm inclined to consider the new behavior correct.

I fixed this one and now a CMF Site seems to work, but I'm afraid this pattern is used in other places. The unittests show this:

TypeError: unbound method manage_addPortalFolder() must be called with PortalFolder instance as first argument (got str instance instead)

Dang, I should have tested CMF with 2.8.

4.) some objects publishable in Zope 2.7 aren't publishable anymore

Can you give any specifics?

No big deal to add docstrings, but what's the policy change?

For better or worse, it has always been policy not to publish objects without non-empty doc strings.

5.) other issues

I was not able to track this error down, but maybe you've got an idea what's going wrong here?

Traceback (innermost last):
  Module ZPublisher.Publish, line 100, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 40, in call_object
  Module Products.CMFCore.utils, line 350, in manage_propertiesForm
  Module Shared.DC.Scripts.Bindings, line 252, in __call__
  Module Shared.DC.Scripts.Bindings, line 281, in _bindAndExec
  Module Shared.DC.Scripts.Bindings, line 1, in ?
  Module Shared.DC.Scripts.Bindings, line 218, in _getContext
AttributeError: aq_parent

Not off-hand. I'll chase this down if no one else does.

I'd really appreciate some help with this.  In other words, I'd
really like others to pick these issues up and run with them.  I did the
hard part.  It took me a good bit of time stolen from Zope 3.


-- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org

Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to