Re: [zope-pt] Busca sem um path específico

2007-05-16 Por tôpico Rodrigo Senra

[ Tania Andrea ]:
--

|Blz.. funciona legal na console, tanto meu teste abaixo[1] quanto a
|sugestão do Senra. Só que no script python dá os respectivos erros:
|
|b) global name 'set' is not defined
|

Oi Tania,

o lance é o seguinte. Para permitir o uso do módulo no Zope, 
vc pode adicionar o código abaixo a qualquer produto. 
Ou até mesmo criar um produto encarregado apenas da autorização.
No diretório Products eu criei o diretório AllowModules com
um único arquivo dentro __init__.py, cujo conteúdo é:


from AccessControl import allow_module, allow_class, allow_type
from AccessControl import ModuleSecurityInfo, ClassSecurityInfo
allow_module('Sets')
ModuleSecurityInfo('Sets').declarePublic('set')
from sets import Set
allow_class(Set)


E no Zope fiz o seguinte teste:

from sets import Set as set
lista_recente = [1,2,3,4,5,6,7]
lista_especifica = [2,3,5,6,8]
recente, especifica  = set(lista_recente), set(lista_especifica)
print especifica-recente 
return printed


A partir do Python 2.5, set é um tipo nativo.
No Python 2.4 é preciso fazer: from sets import Set.
Para manter a compatibilidade de código eu recomendo
no Python2.4 usar: from sets import Set as set

É isso aí!

Abração,
Senra

-
Rodrigo Senra
GPr Sistemas 
http://www.gpr.com.br


Re: [zope-pt] Busca sem um path específico

2007-05-15 Por tôpico Tania Andrea
Boa mesmo moços, valeu!

"Re-factory" é baum :)

Inté.

Rodrigo Castardo <[EMAIL PROTECTED]> escreveu:  
Boa Senra!


On 5/15/07, Rodrigo Senra <[EMAIL PROTECTED]> wrote:

 [ Rodrigo Castardo ]:
 --
 |
 |Uma coisa simples como:
 |
 |>>> lista=[]
 |>>> lista_recente = [1,2,3,4,5,6,7]
 |>>> lista_especifica = [2,3,5,6,8]
 |>>> for cada in lista_especifica:
 |... if cada not in lista_recente:
 |... lista.append(cada)
 |...
 |>>> lista
 |[8]
 
 E por que não:
 >>> recente, especifica  = set(lista_recente), set(lista_especifica)
 >>> especifica-recente
 set([8])
 
 ;o)
 
 Abração,
 Senra
 
 -
 Rodrigo Senra
 GPr Sistemas 
 http://www.gpr.com.br
 
 
   






-- 
Castardo
ThreePointsWeb
[EMAIL PROTECTED]
+55 61 8162-2072 
 


  

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

Re: [zope-pt] Busca sem um path específico

2007-05-15 Por tôpico Rodrigo Castardo

Boa Senra!

On 5/15/07, Rodrigo Senra <[EMAIL PROTECTED]> wrote:



[ Rodrigo Castardo ]:
--
|
|Uma coisa simples como:
|
|>>> lista=[]
|>>> lista_recente = [1,2,3,4,5,6,7]
|>>> lista_especifica = [2,3,5,6,8]
|>>> for cada in lista_especifica:
|... if cada not in lista_recente:
|... lista.append(cada)
|...
|>>> lista
|[8]

E por que não:
>>> recente, especifica = set(lista_recente), set(lista_especifica)
>>> especifica-recente
set([8])

;o)

Abração,
Senra

-
Rodrigo Senra
GPr Sistemas
http://www.gpr.com.br
 





--
Castardo
ThreePointsWeb
[EMAIL PROTECTED]
+55 61 8162-2072


Re: [zope-pt] Busca sem um path específico

2007-05-15 Por tôpico Rodrigo Senra

[ Rodrigo Castardo ]:
--
|
|Uma coisa simples como:
|
|>>> lista=[]
|>>> lista_recente = [1,2,3,4,5,6,7]
|>>> lista_especifica = [2,3,5,6,8]
|>>> for cada in lista_especifica:
|... if cada not in lista_recente:
|... lista.append(cada)
|...
|>>> lista
|[8]


E por que não:
>>> recente, especifica  = set(lista_recente), set(lista_especifica)
>>> especifica-recente
set([8])

;o)

Abração,
Senra

-
Rodrigo Senra
GPr Sistemas 
http://www.gpr.com.br


Re: [zope-pt] Busca sem um path específico

2007-05-15 Por tôpico Rodrigo Castardo
On 5/14/07, Tania Andrea <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Pessoal,

Opa =)

> Faço uma busca específica no catalog, passando o path, para um portlet da 
> página inicial.
> Nessa mesma página tem outro portlet com ítens recentes, porém gostaria que o 
> conteúdo mostrado no primeiro portlet não fosse mostrado *tb* nos recentes.
>
> A dúvida é: tem como buscar no catalog alguns objetos *menos* o que estiver 
> em uma pasta específica?

Ateh onde eu sei nao Tania, vc vai precisar das duas listas de objetos
(duas querys de catalog, a dos recentes tah pronta na view em zope3,
@@nome_da_view que vc encontra nesse portlet), e entao com as duas
listas vc pode usar o in pra saber se o objeto redunda nas duas
listas, caso afirmativo descarta o cara, caso negativo append em uma
lista com os objetos que vc deseja.

Uma coisa simples como:

>>> lista=[]
>>> lista_recente = [1,2,3,4,5,6,7]
>>> lista_especifica = [2,3,5,6,8]
>>> for cada in lista_especifica:
... if cada not in lista_recente:
... lista.append(cada)
...
>>> lista
[8]
>>>

[]'s!

> Obs: Não tem como filtrar por tipo de conteúdo... Podem ser os mesmos.
>
> Obrigada,
> --
> Tânia Andrea
>
>
>  __
> Fale com seus amigos  de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>
>  



-- 
Castardo
ThreePointsWeb
[EMAIL PROTECTED]
+55 61 8162-2072


[zope-pt] Busca sem um path específico

2007-05-14 Por tôpico Tania Andrea
Pessoal,

Faço uma busca específica no catalog, passando o path, para um portlet da 
página inicial.
Nessa mesma página tem outro portlet com ítens recentes, porém gostaria que o 
conteúdo mostrado no primeiro portlet não fosse mostrado *tb* nos recentes.

A dúvida é: tem como buscar no catalog alguns objetos *menos* o que estiver em 
uma pasta específica?

Obs: Não tem como filtrar por tipo de conteúdo... Podem ser os mesmos.

Obrigada,
--
Tânia Andrea

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/