problema de "Permisos Insuficientes"

9 messages Options
Embed this post
Permalink
Gustavo Archuby

problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
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?

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.

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.

Si es no es la forma agradezco cualquier sugerencia

Gracias Gustavo




--
Gustavo Archuby
Area Informática
Facultad de Humanidades y Ciencias de la Educación



_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Mikel Larreategi

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
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
[hidden email]

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

_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Gustavo Archuby

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
Gracias Mikel

me ayuda bastante, igualmente lo que quería saber es cuantos hay de cada
uno y no que valores, ya que yo ya se cuales van a ser...

Es decir si fueran notas de exámenes quer´ia saber cuantos "10" hay
cuantos 9, etc.

Es más discernir de alguna manera, también, cuantas hay de cada nota en
una materia determinada...

por ejemplo totales :
[('10',37),('9',45),('8',55),('7',60),('6',70),('5',68),('4',60),('3',20),('2',50),('1',3),]

donde el primer componente es la nota y el segundo es la cantidad de
ocurrencias

Luego, quisiera lo mismo pero para una materia en particular

Mi idea era indizar el campos de "nota" y luego analizar dicho indice



> 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
> [hidden email]
>
> CodeSyntax
> Azitaingo Industrialdea 3 K
> E-20600 Eibar
> Tel: (+34) 943 82 17 80
>
> _______________________________________________
> Plone-ConoSur mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-conosur
>


--
Gustavo Archuby
Area Informática
Facultad de Humanidades y Ciencias de la Educación



_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Mikel Larreategi

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
Gustavo Archuby(e)k dio:

> Gracias Mikel
>
> me ayuda bastante, igualmente lo que quería saber es cuantos hay de cada
> uno y no que valores, ya que yo ya se cuales van a ser...
>
> Es decir si fueran notas de exámenes quer´ia saber cuantos "10" hay
> cuantos 9, etc.
>
> Es más discernir de alguna manera, también, cuantas hay de cada nota en
> una materia determinada...
>
> por ejemplo totales :
> [('10',37),('9',45),('8',55),('7',60),('6',70),('5',68),('4',60),('3',20),('2',50),('1',3),]
>
> donde el primer componente es la nota y el segundo es la cantidad de
> ocurrencias
>
> Luego, quisiera lo mismo pero para una materia en particular
>
> Mi idea era indizar el campos de "nota" y luego analizar dicho indice

Pues entonces:

dic = {}
for nota in context.portal_catalog.uniqueValuesFor('nota):
     dic[nota] = len(context.portal_catalog(nota=nota)

return dic.items()


Mikel


--
Mikel Larreategi
[hidden email]

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

_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Gustavo Archuby

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
No entiendo, salvo que te hayas olvidado el searchResults

dic = {}
for unaNota in context.portal_catalog.uniqueValuesFor('nota'):
     dic[unaNota] = len(context.portal_catalog.SEARCHRESULTS(nota=unaNota)

return dic.items()

así podría ser, no? Aunque en realidad yo estaba tratando de consultar
directamente los inices por una cuestión de eficiencia, que no se si es
necesario tener en cuenta.

Desde ya Muchisimas gracias Mikel


> Gustavo Archuby(e)k dio:
>> Gracias Mikel
>>
>> me ayuda bastante, igualmente lo que quería saber es cuantos hay de cada
>> uno y no que valores, ya que yo ya se cuales van a ser...
>>
>> Es decir si fueran notas de exámenes quer´ia saber cuantos "10" hay
>> cuantos 9, etc.
>>
>> Es más discernir de alguna manera, también, cuantas hay de cada nota en
>> una materia determinada...
>>
>> por ejemplo totales :
>> [('10',37),('9',45),('8',55),('7',60),('6',70),('5',68),('4',60),('3',20),('2',50),('1',3),]
>>
>> donde el primer componente es la nota y el segundo es la cantidad de
>> ocurrencias
>>
>> Luego, quisiera lo mismo pero para una materia en particular
>>
>> Mi idea era indizar el campos de "nota" y luego analizar dicho indice
>
> Pues entonces:
>
> dic = {}
> for nota in context.portal_catalog.uniqueValuesFor('nota):
>      dic[nota] = len(context.portal_catalog(nota=nota)
>
> return dic.items()
>
>
> Mikel
>
>
> --
> Mikel Larreategi
> [hidden email]
>
> CodeSyntax
> Azitaingo Industrialdea 3 K
> E-20600 Eibar
> Tel: (+34) 943 82 17 80
>
> _______________________________________________
> Plone-ConoSur mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-conosur
>


--
Gustavo Archuby
Area Informática
Facultad de Humanidades y Ciencias de la Educación



_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Mikel Larreategi

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
Gustavo Archuby(e)k dio:

> No entiendo, salvo que te hayas olvidado el searchResults
>
> dic = {}
> for unaNota in context.portal_catalog.uniqueValuesFor('nota'):
>      dic[unaNota] = len(context.portal_catalog.SEARCHRESULTS(nota=unaNota)
>
> return dic.items()
>
> así podría ser, no? Aunque en realidad yo estaba tratando de consultar
> directamente los inices por una cuestión de eficiencia, que no se si es
> necesario tener en cuenta.
>

El searchResults no es necesario ya que el método __call__ del Catalog
(el que se ejecuta cuando llamas al catálogo), llama internamente a
searchResults. Vamos que sería lo mismo con y sin searchResults


Mikel


--
Mikel Larreategi
[hidden email]

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

_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Gustavo Archuby

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
Gracias por desaznarme un poco Mikel!!!

Gustavo

> Gustavo Archuby(e)k dio:
>> No entiendo, salvo que te hayas olvidado el searchResults
>>
>> dic = {}
>> for unaNota in context.portal_catalog.uniqueValuesFor('nota'):
>>      dic[unaNota] =
>> len(context.portal_catalog.SEARCHRESULTS(nota=unaNota)
>>
>> return dic.items()
>>
>> así podría ser, no? Aunque en realidad yo estaba tratando de consultar
>> directamente los inices por una cuestión de eficiencia, que no se si es
>> necesario tener en cuenta.
>>
>
> El searchResults no es necesario ya que el método __call__ del Catalog
> (el que se ejecuta cuando llamas al catálogo), llama internamente a
> searchResults. Vamos que sería lo mismo con y sin searchResults
>
>
> Mikel
>
>
> --
> Mikel Larreategi
> [hidden email]
>
> CodeSyntax
> Azitaingo Industrialdea 3 K
> E-20600 Eibar
> Tel: (+34) 943 82 17 80
>
> _______________________________________________
> Plone-ConoSur mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-conosur
>


--
Gustavo Archuby
Area Informática
Facultad de Humanidades y Ciencias de la Educación



_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Israel Saeta Pérez

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
2009/3/26 Gustavo Archuby <[hidden email]>
Gracias por desaznarme un poco Mikel!!!

También te pueden ayudar:

http://api.plone.org/Plone/3.0/public/frames/products/CMFPlone/products.CMFPlone.CatalogTool.CatalogTool-class.html

y

http://docs.zope.org/zope2/zope2book/source/SearchingZCatalog.html

-- israel


_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur
Israel Saeta Pérez
Gustavo Archuby

Re: problema de "Permisos Insuficientes"

Reply Threaded More More options
Print post
Permalink
Mil gracias

> 2009/3/26 Gustavo Archuby <[hidden email]>
>
>> Gracias por desaznarme un poco Mikel!!!
>>
>
> También te pueden ayudar:
>
> http://api.plone.org/Plone/3.0/public/frames/products/CMFPlone/products.CMFPlone.CatalogTool.CatalogTool-class.html
>
> y
>
> http://docs.zope.org/zope2/zope2book/source/SearchingZCatalog.html
>
> -- israel
> _______________________________________________
> Plone-ConoSur mailing list
> [hidden email]
> http://lists.plone.org/mailman/listinfo/plone-conosur
>


--
Gustavo Archuby
Area Informática
Facultad de Humanidades y Ciencias de la Educación



_______________________________________________
Plone-ConoSur mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-conosur