[zope-pt] Re: Script python para upload de arquivos
--- Em zope-pt@yahoogrupos.com.br, Pedro Vítor Lima Rodrigues [EMAIL PROTECTED] escreveu E ae Zé! Obrigado por responder... Bom, aqui já consegui. Vasculhei a web inteira e não achei nada parecido até que um rapaz chamado (créditos a ele também, http://www.tchezope.org/foruns/plone-3.x/upload-de-arquivos-no-plone) Davi Lima, do tchezope, salvou minha vida. Fiz algumas alterações,nbsp; e acabei usando o invokeFactory ao invés do citado por ele. invokeFactory cria um conteúdo no plone e indexa no mesmo. Assim todos os arquivos tornaram-se visíveis pela interface do portal e não apenas pelo zope. --- Em ter, 10/6/08, José Henrique [EMAIL PROTECTED] escreveu: De: José Henrique [EMAIL PROTECTED] Assunto: Re: [zope-pt] Re: Script python para upload de arquivos Para: zope-pt@yahoogrupos.com.br Data: Terça-feira, 10 de Junho de 2008, 9:27 2008/6/6 Pedro Vítor Lima Rodrigues lt;pedrovitorlima@ yahoo.com. brgt;: gt; gt; Vinicius, gt; dei uma olhada mais continuo sem horizonte. Não faço a mínima de como pegar gt; um arquivo da máquina do usuário para o servidor Zope através do caminho (um gt; input type=file dentro de um form). Copiar o arquivo, gerenciá-lo através gt; do objectmanager acho que não seria o problema... gt; Alguem pode me ajudar? gt; Desde já agradeço... Veja se esse exemplo ajuda: http://www.zopelabs .com/cookbook/ 995659423 Zénrique. Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ Aew Pedro tudo bom!? Tinha como vc postar como ficou seu codigo!? Eu dei uma olhada la ...mas não consegui modificar para que funcionasse. Valeu
Re: [zope-pt] Re: Script python para upload de arquivos
E ae Zé! Obrigado por responder... Bom, aqui já consegui. Vasculhei a web inteira e não achei nada parecido até que um rapaz chamado (créditos a ele também, http://www.tchezope.org/foruns/plone-3.x/upload-de-arquivos-no-plone) Davi Lima, do tchezope, salvou minha vida. Fiz algumas alterações,nbsp; e acabei usando o invokeFactory ao invés do citado por ele. invokeFactory cria um conteúdo no plone e indexa no mesmo. Assim todos os arquivos tornaram-se visíveis pela interface do portal e não apenas pelo zope. --- Em ter, 10/6/08, José Henrique lt;[EMAIL PROTECTED]gt; escreveu: De: José Henrique lt;[EMAIL PROTECTED]gt; Assunto: Re: [zope-pt] Re: Script python para upload de arquivos Para: zope-pt@yahoogrupos.com.br Data: Terça-feira, 10 de Junho de 2008, 9:27 2008/6/6 Pedro Vítor Lima Rodrigues lt;pedrovitorlima@ yahoo.com. brgt;: gt; gt; Vinicius, gt; dei uma olhada mais continuo sem horizonte. Não faço a mínima de como pegar gt; um arquivo da máquina do usuário para o servidor Zope através do caminho (um gt; input type=file dentro de um form). Copiar o arquivo, gerenciá-lo através gt; do objectmanager acho que não seria o problema... gt; Alguem pode me ajudar? gt; Desde já agradeço... Veja se esse exemplo ajuda: http://www.zopelabs .com/cookbook/ 995659423 Zénrique. Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/
Re: [zope-pt] Re: Script python para upload de arquivos
2008/6/6 Pedro Vítor Lima Rodrigues [EMAIL PROTECTED]: 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... Veja se esse exemplo ajuda: http://www.zopelabs.com/cookbook/995659423 Zénrique.
[zope-pt] Re: Script python para upload de arquivos
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() nbsp;nbsp;nbsp; #Função que vai carregar o arquivo. Recebe um caminho de arquivo def uploadBi(self): nbsp;nbsp;nbsp; try: nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; import msvcrt nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; msvcrt.setmode (0, os.O_BINARY) nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; msvcrt.setmode (1, os.O_BINARY) nbsp;nbsp;nbsp; except ImportError: nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; pass nbsp;nbsp;nbsp; #Pega o objeto do form nbsp;nbsp;nbsp; form = cgi.FieldStorage() nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp; #pega o conteúdo do elemento caminho, do form. Esse elemento nbsp;nbsp;nbsp; #possui o arquivo nbsp;nbsp;nbsp; fileitem = form['caminho'] nbsp;nbsp;nbsp; nbsp;nbsp;nbsp; #chama função para gravar o arquivo. envia como parâmetros nbsp;nbsp;nbsp; #o caminho do arquivo, o camingo e o nome a ser gravado nele nbsp;nbsp;nbsp; arroxaBi(fileitem, '/publicacoes/bi/bi-atual/', 'biatual.pdf') nbsp;nbsp;nbsp; arroxaBi(fileitem, '/publicacoes/bi/', os.path.basename(fileitem.filename)) def arroxaBi(fileitem, caminho, nome_do_arquivo): nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp; #se o arquivo contiver um nome... nbsp;nbsp;nbsp; if fileitem.filename: nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; fn = os.path.basename(fileitem.filename) nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; open(caminho + fn, 'wb').write(fileitem.file.read()) nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; message = 'O arquivo ' + fn + 'foi carregado com sucesso!' nbsp;nbsp;nbsp; #senão... nbsp;nbsp;nbsp; else: nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; message = 'Nenhum arquivo foi carregado!' nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;Fiz um external method para o arquivo colocado na pasta Extensions, chamando a função uploadBi. Está dando erro no seguinte: gt;KeyError: 'caminho' Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/