[Zope3-Users] Access to request in content object and object path
mgedmin at b4net.lt
Wed Jan 24 18:06:01 EST 2007
On Wed, Jan 24, 2007 at 11:50:21PM +0100, Maciej Wisniowski wrote:
> Is this possible to get
> request object in content class. In Zope2 this
> was possible with simple self.REQUEST. In Zope3
> I tried self.request but I only get errors.
> Maybe this is a feature, and I'm not supposed
> to access request object from content class?
Yes. You're not supposed to do that. Views work with requests, not
If you told us what you want to achieve, we could help you find a way to
do it that works with Zope 3 rather than against it.
> Another question. I'm trying to write tests
> for my content object.
> Because I want some caching facilities
> I'm using getLocationForCache from
> and because of this: zapi.getPath(obj)
> In short it is like:
> class MyClass(Persistent):
> def myfunction(self):
> location = zapi.getPath(self)
> return location
> In the tests I always get location == None.
> I'm using doctests like:
> >>> test_content = MyClass()
> >>> test_content.myfunction()
> placefulsetup adds some objects like root etc.
> but I'm not sure how I should add my object to this.
> Any clues?
Lately I've been using this pattern in my tests:
from zope.testing import doctest
from zope.app.testing import setup
from zope.app.folder import rootFolder
from zope.traversing.api import getPath
from mypackage import MyObject
"""Bla bla bla
>>> root = rootFolder()
>>> root['my_object'] = my_object = MyObject()
return doctest.DocTestSuite(setUp=setUp, tearDown=tearDown)
if __name__ == '__main__':
I avoid setup.placefulSetUp, and I avoid zapi/ztapi.
System going down at 5 this afternoon to install scheduler bug.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
Url : http://mail.zope.org/pipermail/zope3-users/attachments/20070125/b64a8400/attachment.bin
More information about the Zope3-users