Vinicius,
dei uma olhada mais continuo sem horizonte. Não faço a mínima de como pegar um 
arquivo da máquina do usuário para o servidor Zope através do caminho (um input 
type="file" dentro de um form). Copiar o arquivo, gerenciá-lo através do 
objectmanager acho que não seria o problema...
Alguem pode me ajudar?
Desde já agradeço...
--- Em sex, 6/6/08, vinicius.osiro <[EMAIL PROTECTED]> escreveu:
De: vinicius.osiro <[EMAIL PROTECTED]>
Assunto: [zope-pt] Re: Script python para upload de arquivos
Para: zope-pt@yahoogrupos.com.br
Data: Sexta-feira, 6 de Junho de 2008, 15:35










    
            Pedro, 



Acredito que o que deseja fazer é mais simples do que o código abaixo.

    No help do próprio Zope, entre em Zope Help > API Reference >

ObjectManager.



Lá há alguns exemplos de como manipular objetos do ZODB através de

python scripts, desse modo você consegue fazer upload de arquivos

adicionando novos objetos no banco do próprio Zope.



Att,

Vinícius Osiro



--- Em [EMAIL PROTECTED] .com.br, Pedro Vítor Lima Rodrigues

<pedrovitorlima@ ...> escreveu

>

> Pesoal,

> Estou precisando de um script que, através de um input file de um

form, faça o upload de um arquivo, copie para uma determinada pasta

com um nome e copie para outra pasta com outro nome. Não entendo muito

python, qualquer erro grotesco me desculpem pois ainda sou iniciante,

mais pesquisando na web consegui chegar no seguinte:

> 

> import cgi, os

> import cgitb; cgitb.enable( )

>      #Função que vai carregar o arquivo. Recebe 
um

caminho de arquivo

> def uploadBi(self) :

>      try: 

>          import 
msvcrt

>          
msvcrt.setmode (0, os.O_BINARY)

>          
msvcrt.setmode (1, os.O_BINARY)

>      except ImportError:

>            
pass

>      #Pega o objeto do form

>      form = cgi.FieldStorage( )

>            

>      #pega o conteúdo do elemento caminho, do 
form.

Esse elemento

>      #possui o arquivo

>      fileitem = form['caminho' ]

>      

>      #chama função para gravar o arquivo. envia 
como

parâmetros

>      #o caminho do arquivo, o camingo e o nome 
a ser

gravado nele

>      arroxaBi(fileitem, '/publicacoes/ 
bi/bi-atual/ ',

'biatual.pdf' )

>      arroxaBi(fileitem, '/publicacoes/ bi/',

os.path.basename( fileitem. filename) )

> 

> def arroxaBi(fileitem, caminho, nome_do_arquivo) :

>            

>      #se o arquivo contiver um nome...

>      if fileitem.filename:

>            
fn =

os.path.basename( fileitem. filename)

>            
open(caminho + fn,

'wb').write( fileitem. file.read( ))

>            
message = 'O arquivo "' +

fn + '"foi carregado com sucesso!'

>      #senão...

>      else:

>            
message = 'Nenhum arquivo

foi carregado!'

>            

>  Fiz um external method para o arquivo colocado na pasta

Extensions, chamando a função uploadBi. Está dando erro no seguinte:

> 

> >KeyError: 'caminho'

> 

> 

> 

>       Abra sua conta no Yahoo! Mail, o único sem limite de espaço

para armazenamento!

> http://br.mail. yahoo.com/

>




      

    
    
        
         
        
        








        


        
        


      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

Responder a