Re: can call script via url but not from script

Georges Racinet <[email protected]>
Newsgroups gmane.comp.web.zope.cps.devel
Message-ID <[email protected]>
On Nov 10, 2006, at 10:35 AM, Joachim Schmitz wrote:

> Santi Camps schrieb:
>> On 11/9/06, Joachim Schmitz <[email protected]> wrote:
>>> In the port_root I have a ProxyFolder campus of portal_type  
>>> University.
>>> In the University-Class I defined a routine to get a certain value.
>>>
>>> when I call this via the browser-url like so:
>>>
>>> http://www.test.de/srp/campus/getHallTitle?hall=xxx
>>>
>>> the correct title is returned.
>>>
>>> but when I call it in a script:
>>>
>>> context.portal_url.getPortalObject().campus.getHallTitle("xxx")
>>>
>>> I get an attribute error "getHallTitle"
>>>
>>> this works also in a script:
>>>
>> This is because your "campus" object is really a CPS Proxy,
>> referencing a really campus object existing in the portal_repository
>> (named the "Content").   So, the proxy object doesn't have the
>> getHallTitle method, but the content object have.
>> A __getitem__ method exists in the proxies to do some magic, so your
>> call http://www.test.de/srp/campus/getHallTitle?hall=xxx works.   To
>> do the same in a script, you can use either:
>> context.portal_url.getPortalObject().campus['getHallTitle']("xxx")
>> or
>> content = context.portal_url.getPortalObject().campus.getContent()
>> content.getHallTitle("xxx")
>> That's no difference between them, but the second option is a cheaper
>> operation if you need to call more methods or attributes.
> there a slight but important difference, the first one works, and  
> the second one throws an Unauthorized Exeption for getContent.

Maybe, but then it's not normal:
(CPSCore.ProxyBase extract)
>     security.declareProtected(View, 'getContent')
>     def getContent(self, lang=None, rev=None):
>         """Get the content object referred to by this proxy.
>


>
>
>
> -- 
> Mit freundlichen Grüßen                                Joachim Schmitz
> ......................................................................
> AixtraWare eK ..Joachim Schmitz ..www.aixtraware.de ..t: +49-2464-8851
> Hüsgenstr. 33a .....d-52457 Aldenhoven .............f: +49-2464-905163
>
>
> _______________________________________________
> cps-devel mailing list
> http://lists.nuxeo.com/mailman/listinfo/cps-devel
>

---------
Georges Racinet,   Nuxeo SAS
Open Source Enterprise Content Management (ECM)
Web: http://www.nuxeo.com/ and http://www.nuxeo.org/ - Tel: +33 1 40  
33 79 87



_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.