Criando File com plone.app

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Criando File com plone.app

Zope & Plone - Portugal/Brazil mailing list
Bom Dia Senhores,
 

 Tou criando um script pra fazer upload em massa a partir de um txt delimitado por ponto-e-vírgulas utilizando o plone.app create.
 

 O intuito do script é ler o TXT localizar o local dele, com seu respectivo, nome, descrição e fazer a carga no plone site.
 Versão: Plone 4.3.10
 

 Ele tá dando um erro:
 

 Traceback (most recent call last):
   File "<console>", line 18, in <module>
   File "/home/jaf/plone4310/buildout-cache/eggs/plone.namedfile-3.0.9-py2.7.egg/plone/namedfile/file.py", line 384, in __init__
     self.filename = filename
   File "/home/jaf/plone4310/buildout-cache/eggs/zope.schema-4.2.2-py2.7.egg/zope/schema/fieldproperty.py", line 52, in __set__
     field.validate(value)
   File "/home/jaf/plone4310/buildout-cache/eggs/zope.schema-4.2.2-py2.7.egg/zope/schema/_bootstrapfields.py", line 182, in validate
     self._validate(value)
   File "/home/jaf/plone4310/buildout-cache/eggs/zope.schema-4.2.2-py2.7.egg/zope/schema/_bootstrapfields.py", line 309, in _validate
     super(MinMaxLen, self)._validate(value)
   File "/home/jaf/plone4310/buildout-cache/eggs/zope.schema-4.2.2-py2.7.egg/zope/schema/_bootstrapfields.py", line 209, in _validate
     raise WrongType(value, self._type, self.__name__)
 
 WrongType: ('processo-al-1.pdf', <type 'unicode'>, 'filename')
 

 E o Script é esse abaixo, obrigado pela atenção de vocês:
 

 #!/usr/bin/python
 # -*- coding:utf-8 -*-
 

 from zope.site.hooks import setSite
 from plone.namedfile.file import NamedBlobFile
 from plone import api
 import transaction
 import csv
 

 portal = app['Plone']
 setSite(portal)
 container = portal['PROCESSOS']
 

 with open('CARGA/C008_0002.txt', 'rb') as csvfile:
 reader = csv.DictReader(csvfile, delimiter=';', quotechar='|')
 for row in reader:
 pdf_id = 'P'+str(row['IMAGEM']).strip('Pasta Geral\\ ')
 file_obj = api.content.create(                          
 container, 'File',
 title=str(row['INTERESSADO']),
 id=pdf_id,
 description=str(row['CNPJ / CPF'])+' '+str(row['ASSUNTO']),
 safe_id=True
 )
 print(file_obj.id)
 pdf_path = 'INMEQ/'+str(row['IMAGEM']).replace("\\", "/")
 print(pdf_path)
 file_obj.file = NamedBlobFile(
 data=open(pdf_path, 'r').read(),
 contentType='application/pdf',
 filename=str(file_obj.id),
 )
 print('Criado: '+row['NDOPROCESSO']+'.')
 

 
 transaction.commit()
 

 

 Att.,
 Juliano Araújo
 ITEC/AL
 

Reply | Threaded
Open this post in threaded view
|

Re: Criando File com plone.app

Zope & Plone - Portugal/Brazil mailing list
Colegas Plonianos,

 Eu postei a mesma questão aqui:
 

 Script Python using plone.api to create File appear error WrongType when set a file http://stackoverflow.com/questions/38351633/script-python-using-plone-api-to-create-file-appear-error-wrongtype-when-set-a-f

 
 
 http://stackoverflow.com/questions/38351633/script-python-using-plone-api-to-create-file-appear-error-wrongtype-when-set-a-f 
 
 Script Python using plone.api to create File appear erro... http://stackoverflow.com/questions/38351633/script-python-using-plone-api-to-create-file-appear-error-wrongtype-when-set-a-f Dears, I'm creating a script python to mass upload files in Plone site, the installation is UnifiedInstaller Plone 4.3.10. This script read a txt, and this tx...
 
 
 
 Visualizar em stackoverflow.com http://stackoverflow.com/questions/38351633/script-python-using-plone-api-to-create-file-appear-error-wrongtype-when-set-a-f 
 Visualização pelo Yahoo
 
 
 

 Caso algum dos responda, eu irei atualizar um ou outro.


 

Reply | Threaded
Open this post in threaded view
|

Re: Criando File com plone.app

Zope & Plone - Portugal/Brazil mailing list
Colegas,

 O pessoal postou a solução:
 

 file_obj.file = NamedBlobFile(
 data=open(pdf_path, 'r').read(),
 contentType='application/pdf',
 filename=unicode(file_obj.id, 'utf-8'), #O filename tem que ser unicode
 )

 

 O script até passa, só não tá anexando o arquivo ainda, eu testei o "open(pdf_path, 'r').read()", mas ele não anexa o arquivo ao item criado, ele cria o item arquivo vazio, quem puder ajudar...
 

 Obrigado
 

 att.,
 Juliano Araújo