Method attribute not found after upgrade 2.1.3 to 2.1.10

Heiko Besemann <[email protected]> Sun, 31 Jan 2010 20:45:42 +0100
Newsgroups gmane.comp.web.zope.silva.devel
Message-ID <755b6a66dea678c292fef3b1da2f2f3e@localhost>
Dear list,

today I tried to upgradedmy Silva 2.1.3 / Zope 2.10.5-final installation to
current Silva 2.1.10 release.

However the upgraded site sends me an error accessing the startpage:

-- snip --
2010-01-31T20:22:21 ERROR Zope.SiteErrorLog http://www.noordsee.de:9081/cms
Traceback (innermost last):
Module ZPublisher.Publish, line 110, in publish
Module ZPublisher.BaseRequest, line 455, in traverse
Module Products.SilvaLayout.adapters.traverser, line 59, in browserDefault
Module ZPublisher.HTTPRequest, line 1241, in __getattr__
AttributeError: method
-- snap --

I examined this incident and found different program logic at
Products.SilvaLayout.adapters.traverser.

The working 2.1.3 installation uses the following traverser code:

-- snip --
class SkinnyTraverser(DefaultPublishTraverse, SkinSetterMixin):
def publishTraverse(self, request, name):
self._setSkin(request)
return super(SkinnyTraverser, self).publishTraverse(request, name)

def browserDefault(self, request):
self._setSkin(request)
return super(SkinnyTraverser, self).browserDefault(request)
-- snap --

The current 2.1.10 uses:

-- snap --
class SkinnyTraverser(DefaultPublishTraverse, SkinSetterMixin):
def publishTraverse(self, request, name):
self._setSkin(request)
return super(SkinnyTraverser, self).publishTraverse(request, name)

def browserDefault(self, request):
self._setSkin(request)
# We only reply to GET and POST requests, others are delegated
# to the object.
if request.method in ('GET', 'POST',):
return super(SkinnyTraverser, self).browserDefault(request)
return self.context, ()

-- snap --

So calling my websites start page somehow "request.method" cant be called.

What I am missing here? Is it because of old Zope 2.10.5-final?

Cheers,
Heiko