[Zope-it] Metodi esterni

Riccardo Lemmi riccardo@reflab.it
Wed, 26 Mar 2003 19:46:49 +0100


Alle 18:34, mercoled=EC 26 marzo 2003, Aldo Bergamini ha scritto:
> Avete presente la API di Zope dell'appendice B dello Zope Book?
>
> Oggi mi sono lanciato nel tentativo di usare il methodo
> unrestrictedTraverse (nella release 2.5 =E8 a pagina 312).
>
> Ora giustamente il server Zope mi ha mandato a quel paese perch=E8 il p=
rimo
> tentativo lo ho fatto da uno script Zope via ZMI.
>
> Ok, devo usare un metodo esterno.

Perch=E8 non usi restrictedTraverse() ed eviti il metodo esterno?

>
> Solo che non so come/da dove importare il metodo in questione.
>
> Il seguente sorgente:
> >import ObjectManagerItem
> >
> >....
> >ObjectManagerItem.unrestrictedTraverse(StudyURL).objectValues(('Folder=
'))
>
>
> Ho guardato sui libri che ho, ma non ho cavato alcunch=E8 ... Dove poss=
o
> trovare una lista di metodi/oggetti di utilit=E0 da importare in propri
> script esterni?
>
> GRAZIE
>
> Ciao
> Aldo

Quello che stai tentando di fare non ha senso.
ObjectManagerItem =E8 in realt=E0 una dichiarazione di interfaccia (vedi=20
Products/OFSP/help/ObjectManagerItem.py), alcuni oggetti (come DTMLDocume=
nt)=20
la implementano (__extends__) ed =E8 su questi che va fatta la chiamata, =
quindi=20
non serve fare l'import.
Nel tuo caso penso che la seguente chiamata da script python:

container.restrictedTraverse(StudyURL).objectValues(('Folder'))

faccia il lavoro che ti serve.
--=20

                                               Riccardo Lemmi