[Plone-conosur] problema de "Permisos Insuficientes"

Mikel Larreategi mlarreategi en codesyntax.com
Jue Mar 26 07:13:41 UTC 2009


Gustavo Archuby(e)k dio:
> Buenas, me está sucediendo lo siguiente, corro una línea desde el cluseau
> y funciona perfectamente, trato de hacer un script que haga los mismo y me
> dice permisos insuficientes, basicamente:
> 
> en cluseau:
> [ i.getId() for i in portal.portal_catalog.index_objects()]
> 
> me lista los id de todos los indices del catalogo
> 
> si hago un script
> 
> from Products.CMFCore.utils import getToolByName
> urltool = getToolByName(context, 'portal_url')
> portal = urltool.getPortalObject()
> 
> x=[ i.getId() for i in portal.portal_catalog.index_objects()]
> 
> return x
> 
> Me dice "Permisos Insuficientes"
> 
> Alguien sabe porque puede ser?

Seguramente porque el método index_objects estará marcado que es privado.

> 
> Estoy tratando de acceder a los indices para ver que valores se indizaron
> en determinados indices y que cantidad de cada uno de estos valores, no se
> si es la forma correcta o si es conveniente acceder al catálogo para este
> tipo de tareas.

Eso lo puedes hacer desde el interfaz del propio catálogo:

http://tu-ip-del-servidor/plone/portal_catalog/manage_catalogIndexes

Pinchando en cada índice tienes los valores asociados de cada objeto.

> 
> La idea es que en lugar de guardar y mantener en algún objeto la cantidad
> de ocurrencias de un valor en una determinada propiedad hago un índice
> (que se mantiene solo) y luego lo analizo los diferentes valores del
> indice y la cantidad de objetos apuntados.
> 

Para hacer lo que haces, puedes utilizar un script de 2 líneas:

values = here.portal_catalog.uniqueValuesFor('mi-indice')
return len(values)

Con eso obtienes primero los diferentes valores para el índice mi-indice 
(tendrá que ser un FieldIndex o un KeywordIndex) y luego cuántos hay.


Mikel

-- 
Mikel Larreategi
mlarreategi en codesyntax.com

CodeSyntax
Azitaingo Industrialdea 3 K
E-20600 Eibar
Tel: (+34) 943 82 17 80




Más información sobre la lista de distribución Plone-ConoSur