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 zope-pt@yahoogrupos.com.br, Pedro Vítor Lima Rodrigues <[EMAIL PROTECTED]> 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/ >