[Zope] referencing a folder
Johan Carlsson [EasyPublisher]
johanc@easypublisher.com
Tue, 15 Apr 2003 15:03:26 +0000
At 16:42 2003-04-15 +0200, Marie Robichon said:
>At 14:15 15/04/2003 +0000, you wrote:
>>At 15:45 2003-04-15 +0200, Marie Robichon said:
>>>Hi,
>>>
>>>I want to add an object via a python script, but cannot find the syntax
>>>to reference the destination folder which is in the 'Intranet' virtual
>>>root of my site
>>>The following doesn't work and I've tried various other ways, and
>>>haven't found a faq or solution anywhere. Probably something dumb again.....
>>>
>>>newsfolder=News.FrontNews
>>>
>>>newsfolder.manage_addProduct['EasyEditor'].addEasyNewsItem(
>>>note_id,
>>>note_title...............
>>
>>Hi Marie,
>>I think you might be missing 'context'?
>>
>>newsfolder=context.News.FrontNews
>
>no using newsfolder=context.News.FrontNews gives me an
>AttributeError. The script is in fact in Intranet/Test/Marie/Notes and I
>want to add an EasyNewsItem to Intranet/News/FrontNews (Intranet being our
>virtual root) so I don't think I should be using context?
I don't know why you get an AttributeError, it's hard for me to tell.
You could use container as a starting point if you like, it would work
equal in your scenario.
Actually what happens in your code is that the context is
changed to point to News/FrontNews in dependent if you use
container or context.
News is actually acquired from what ever starting point you use.
(Acquisition is a marvelous and confusing beast :-)
You could also use (if you like to point to the FrontNews object with an URL)
news=context.restrictedTraverse('/Intranet/News/FrontNews')
# If the physical URL is /Intranet/News/FrontNews
news.manage_addProduct['EasyEditor'].addEasyNewsItem(<id and stuff>)
Best Regards,
Johan Carlsson
Easy Publisher Developers Team
Johan Carlsson
johanc@easypublisher.com
Mail:
Birkagatan 9
SE-113 36 Stockholm
Sweden
Phone +46-(0)8-31 24 94
Fax +46-(0)8-673 04 44
Mobil +46-(0)70-558 25 24
http://www.easypublisher.com