Re: [zope-pt] Re: Funções compartilhadas em script Python

2007-01-31 Por tôpico José Henrique
Flávio (e demais da lista),

Esquece o que eu perguntei.  Eu que me embananei à toa por aqui :-P

De qualquer forma, obrigado.

Zénrique.

2007/1/31, José Henrique <[EMAIL PROTECTED]>:
> Flávio,
>
> Muito obrigado pela dica, funcionou certinho.  Entretanto, não estou
> conseguindo fazer funcionar a chamada a partir de um Page Template.
> Você (ou alguém da lista) tem alguma sugestão de como fazer isso?
>
> Zénrique.
>
> Em 19/01/07, FLÁVIO GOMES DA SILVA
> LISBOA<[EMAIL PROTECTED]> escreveu:
> > --- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> 
> > escreveu
> > >
> > > Flavio,
> > >
> > > Segui suas instruções mas não obtive sucesso.  Você poderia enviar ou
> > > publicar um exemplo simplificado de sua implementação (uma classe com
> > > dois métodos, por exemplo) e de como utilizá-lo.
> > >
> > > Obrigado,
> > >
> > > Zénrique.
> > >
> >
> > É claro! Experimente usar dois scripts Python:
> >
> > Um se chama "Operacao" e o código é:
> >
> > class Operacao:
> > def soma(self,numero1,numero2):
> > return numero1+numero2
> >
> > def subtracao(self,numero1,numero2):
> > return numero1-numero2
> >
> > def multiplicacao(self,numero1,numero2):
> > return numero1*numero2
> >
> > def divisao(self,numero1,numero2):
> > return numero1/numero2
> >
> > return Operacao()
> >
> > O outro se chama "resultado" (é o que usa os métodos do anterior):
> >
> > o = context.Operacao()
> >
> > n1 = 8
> > n2 = 4
> >
> > print "Dados os numeros %d e %d:\n" % (n1,n2)
> >
> >
> > print "Soma = %d\n" % (o.soma(n1,n2))
> > print "Subtra\xe7\xe3o = %d\n" % (o.subtracao(n1,n2))
> > print "Multiplica\xe7\xe3o = %d\n" % (o.multiplicacao(n1,n2))
> > print "Divis\xe3o = %d\n" % (o.divisao(n1,n2))
> >
> > return printed
> >
> > Desculpe o unicode no texto, mas eu ainda não sei outra forma de
> > escrever direto em português.
> >
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
>


Re: [zope-pt] Re: Funções compartilhadas em script Python

2007-01-31 Por tôpico José Henrique
Flávio,

Muito obrigado pela dica, funcionou certinho.  Entretanto, não estou
conseguindo fazer funcionar a chamada a partir de um Page Template.
Você (ou alguém da lista) tem alguma sugestão de como fazer isso?

Zénrique.

Em 19/01/07, FLÁVIO GOMES DA SILVA
LISBOA<[EMAIL PROTECTED]> escreveu:
> --- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> 
> escreveu
> >
> > Flavio,
> >
> > Segui suas instruções mas não obtive sucesso.  Você poderia enviar ou
> > publicar um exemplo simplificado de sua implementação (uma classe com
> > dois métodos, por exemplo) e de como utilizá-lo.
> >
> > Obrigado,
> >
> > Zénrique.
> >
>
> É claro! Experimente usar dois scripts Python:
>
> Um se chama "Operacao" e o código é:
>
> class Operacao:
> def soma(self,numero1,numero2):
> return numero1+numero2
>
> def subtracao(self,numero1,numero2):
> return numero1-numero2
>
> def multiplicacao(self,numero1,numero2):
> return numero1*numero2
>
> def divisao(self,numero1,numero2):
> return numero1/numero2
>
> return Operacao()
>
> O outro se chama "resultado" (é o que usa os métodos do anterior):
>
> o = context.Operacao()
>
> n1 = 8
> n2 = 4
>
> print "Dados os numeros %d e %d:\n" % (n1,n2)
>
>
> print "Soma = %d\n" % (o.soma(n1,n2))
> print "Subtra\xe7\xe3o = %d\n" % (o.subtracao(n1,n2))
> print "Multiplica\xe7\xe3o = %d\n" % (o.multiplicacao(n1,n2))
> print "Divis\xe3o = %d\n" % (o.divisao(n1,n2))
>
> return printed
>
> Desculpe o unicode no texto, mas eu ainda não sei outra forma de
> escrever direto em português.
>
>
>
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
>
>
>


[zope-pt] Re: Funções compartilhadas em script Python

2007-01-19 Por tôpico FLÁVIO GOMES DA SILVA LISBOA
--- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> escreveu
>
> Flavio,
> 
> Segui suas instruções mas não obtive sucesso.  Você poderia enviar ou
> publicar um exemplo simplificado de sua implementação (uma classe com
> dois métodos, por exemplo) e de como utilizá-lo.
> 
> Obrigado,
> 
> Zénrique.
>

É claro! Experimente usar dois scripts Python:

Um se chama "Operacao" e o código é:

class Operacao:
def soma(self,numero1,numero2):
return numero1+numero2

def subtracao(self,numero1,numero2):
return numero1-numero2

def multiplicacao(self,numero1,numero2):
return numero1*numero2

def divisao(self,numero1,numero2):
return numero1/numero2

return Operacao()

O outro se chama "resultado" (é o que usa os métodos do anterior):

o = context.Operacao()

n1 = 8
n2 = 4

print "Dados os numeros %d e %d:\n" % (n1,n2)


print "Soma = %d\n" % (o.soma(n1,n2))
print "Subtra\xe7\xe3o = %d\n" % (o.subtracao(n1,n2))
print "Multiplica\xe7\xe3o = %d\n" % (o.multiplicacao(n1,n2))
print "Divis\xe3o = %d\n" % (o.divisao(n1,n2))

return printed

Desculpe o unicode no texto, mas eu ainda não sei outra forma de
escrever direto em português.



Re: [zope-pt] Re: Funções compartilhadas em script Python

2007-01-19 Por tôpico José Henrique
Flavio,

Segui suas instruções mas não obtive sucesso.  Você poderia enviar ou
publicar um exemplo simplificado de sua implementação (uma classe com
dois métodos, por exemplo) e de como utilizá-lo.

Obrigado,

Zénrique.


Re: [zope-pt] Re: Funções compartilhadas em script Python

2007-01-17 Por tôpico Rodrigo Dias Arruda Senra
[ FLÁVIO GOMES DA SILVA LISBOA <[EMAIL PROTECTED]> ]:

|
|  Obrigado ao Rodrigo Montenegro. Ele verdadeiramente é um Hal Jordan do
|  Zope.
|  

 Sem querer sugerir nenhum demérito para o Lanterna verde.


|  1)
|  Crie um Script Python.
|  Defina uma classe.
|  Crie métodos, métodos públicos # cut
|  2)
|  Crie um segundo Script Python.
|  Invoque o script usando o contexto e ... # cut
|  
|  Com isso eu posso compartilhar grupos de funções entre vários scripts,
|  sem gerar uma infinidade de scripts. É muito melhor agrupar as coisas
|  por assunto. 

Quem avisa amigo é. Este é uma desvantagem com cara de vantagem,
se vc considerar manutenção, controle de versão e desempenho.
Eu recomendo dar uma olhadela no tutorial de criação de tools [1],
é bem mais simples do que parece.
 
[1] http://plone.org/documentation/how-to/create-a-tool

Abração,
Senra

-
Rodrigo Senra
GPr Sistemas


[zope-pt] Re: Funções compartilhadas em script Python

2007-01-17 Por tôpico FLÁVIO GOMES DA SILVA LISBOA
Obrigado ao Rodrigo Montenegro. Ele verdadeiramente é um Hal Jordan do
Zope.

1)
Crie um Script Python.
Defina uma classe.
Crie métodos, métodos públicos. Os métodos são funções, com a única
diferença de que possuem uma disciplina de acesso.
Ao fim do script, retorne uma instância da classe.

2)
Crie um segundo Script Python.
Invoque o script usando o contexto e parênteses e atribua a uma variável.
A variável agora aponta para uma instância da classe definida acima.
Basta usar seus métodos.

Com isso eu posso compartilhar grupos de funções entre vários scripts,
sem gerar uma infinidade de scripts. É muito melhor agrupar as coisas
por assunto. 

Eu já tinha várias classes prontas em Python puro que havia descartado
por orientações de:
1) Primeiro, usar External Methods, para descobrir em seguida que a
segurança do Zope não permitia o funcionamento adequado deles.
2) Segundo, não usar External Methods (parece que é uma heresia ou
coisa do tipo), e sim criar Produtos, ou na mão, ou com Archetypes.

No final, eu posso usar as minhas classes, fazendo poucas adaptações.



--- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> escreveu
>
> Bem, faz parte da etiqueta das listas que, quando se encontra uma
> solução, a mesma seja  publicada para que pessoas com os mesmos
> problemas possam, por meio de pesquisa à lista, ter seu problema
> resolvido.
> 
> Zénrique.
> 
> Em 16/01/07, FLÁVIO GOMES DA SILVA
> LISBOA<[EMAIL PROTECTED]> escreveu:
> > Já encontrei a resposta para minha dúvida.
> > Primeiro, é possível sim chamar funções de um script python a partir
> > de outro.
> > Segundo, o produto pode ser útil para aplicações simples, mas o que
> > estou tentando fazer transcende os tipos de portais que vi até agora.
> > De qualquer modo, obrigado.
> > Se quiser o exemplo, eu indico uma URL.
> >
> > --- Em zope-pt@yahoogrupos.com.br, "José Henrique"  escreveu
> > >
> > > Não há problema em declarar funções dentro de um script python.  O
> > > problema apontado deve ser decorrente de algum erro de sintaxe que
> > > você está cometendo.  Entretanto, essas  funções tem seu escopo
> > > restrito ao próprio script, não sendo possível chamá-las a partir de
> > > outro script python.  Infelizmente scripts python não são python
puro.
> > >
> > > O ideal seria desenvolver um produto python, mas se você não tem
> > > experiência ou tempo pra fazer isso, poderia, como paliativo,
> > > concentrar vários scripts em uma pasta somente para esse fim.  É uma
> > > idéia semelhante ao que você pretendia.
> > >
> > > Zénrique.
> > >
> > > > > >
> > > > > >   Eu queria fazer um script python que contivesse
> > > > > funções que podem ser
> > > > > > chamadas por outros scripts, funcionando como uma
> > > > > biblioteca de
> > > > > > funções. Vi que é possível chamar um script dentro
> > > > > de outro script,
> > > > > > mas se tento declarar funções com def, ao salvar a
> > > > > ZMI acusa erro na
> > > > > > linha 1.
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> >

> > > > Have a burning question?
> > > > Go to www.Answers.yahoo.com and get answers from real people
who know.
> > > >
> > > >
> > > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > > > Para desistir envie uma mensagem em branco para:
> > [EMAIL PROTECTED]
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > >
> >
> >
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para:
[EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
>




Re: [zope-pt] Re: Funções compartilhadas em script Python

2007-01-16 Por tôpico José Henrique
Bem, faz parte da etiqueta das listas que, quando se encontra uma
solução, a mesma seja  publicada para que pessoas com os mesmos
problemas possam, por meio de pesquisa à lista, ter seu problema
resolvido.

Zénrique.

Em 16/01/07, FLÁVIO GOMES DA SILVA
LISBOA<[EMAIL PROTECTED]> escreveu:
> Já encontrei a resposta para minha dúvida.
> Primeiro, é possível sim chamar funções de um script python a partir
> de outro.
> Segundo, o produto pode ser útil para aplicações simples, mas o que
> estou tentando fazer transcende os tipos de portais que vi até agora.
> De qualquer modo, obrigado.
> Se quiser o exemplo, eu indico uma URL.
>
> --- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> 
> escreveu
> >
> > Não há problema em declarar funções dentro de um script python.  O
> > problema apontado deve ser decorrente de algum erro de sintaxe que
> > você está cometendo.  Entretanto, essas  funções tem seu escopo
> > restrito ao próprio script, não sendo possível chamá-las a partir de
> > outro script python.  Infelizmente scripts python não são python puro.
> >
> > O ideal seria desenvolver um produto python, mas se você não tem
> > experiência ou tempo pra fazer isso, poderia, como paliativo,
> > concentrar vários scripts em uma pasta somente para esse fim.  É uma
> > idéia semelhante ao que você pretendia.
> >
> > Zénrique.
> >
> > > > >
> > > > >   Eu queria fazer um script python que contivesse
> > > > funções que podem ser
> > > > > chamadas por outros scripts, funcionando como uma
> > > > biblioteca de
> > > > > funções. Vi que é possível chamar um script dentro
> > > > de outro script,
> > > > > mas se tento declarar funções com def, ao salvar a
> > > > ZMI acusa erro na
> > > > > linha 1.
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> 
> > > Have a burning question?
> > > Go to www.Answers.yahoo.com and get answers from real people who know.
> > >
> > >
> > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > > Para desistir envie uma mensagem em branco para:
> [EMAIL PROTECTED]
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> >
>
>
>
>
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
>
>
>


[zope-pt] Re: Funções compartilhadas em script Python

2007-01-16 Por tôpico FLÁVIO GOMES DA SILVA LISBOA
Já encontrei a resposta para minha dúvida.
Primeiro, é possível sim chamar funções de um script python a partir
de outro.
Segundo, o produto pode ser útil para aplicações simples, mas o que
estou tentando fazer transcende os tipos de portais que vi até agora.
De qualquer modo, obrigado.
Se quiser o exemplo, eu indico uma URL.

--- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> escreveu
>
> Não há problema em declarar funções dentro de um script python.  O
> problema apontado deve ser decorrente de algum erro de sintaxe que
> você está cometendo.  Entretanto, essas  funções tem seu escopo
> restrito ao próprio script, não sendo possível chamá-las a partir de
> outro script python.  Infelizmente scripts python não são python puro.
> 
> O ideal seria desenvolver um produto python, mas se você não tem
> experiência ou tempo pra fazer isso, poderia, como paliativo,
> concentrar vários scripts em uma pasta somente para esse fim.  É uma
> idéia semelhante ao que você pretendia.
> 
> Zénrique.
> 
> > > >
> > > >   Eu queria fazer um script python que contivesse
> > > funções que podem ser
> > > > chamadas por outros scripts, funcionando como uma
> > > biblioteca de
> > > > funções. Vi que é possível chamar um script dentro
> > > de outro script,
> > > > mas se tento declarar funções com def, ao salvar a
> > > ZMI acusa erro na
> > > > linha 1.
> > > >
> > > >
> > > >
> > >
> >
> >
> >
> >
> >

> > Have a burning question?
> > Go to www.Answers.yahoo.com and get answers from real people who know.
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para:
[EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
>