[zope-pt] Validando um arquivo PDF
Saudações comunidade! Estou com a seguinte dúvida: Quero implementar um produto que só aceite UPLOAD de arquivos pdf's Estou querendo criar um validador com uma função para restringir. mas não pega nenhum tipo de arquivo. e ao tentar compilar, ou melhor, rodar o instence fg aparece o seguinte erro final * ZopeXMLConfigurationError: File /usr/local/Plone/zinstance/src/pox.video/pox/video/content/configure.zcml, line 20.2-22.5 SyntaxError: 'return' outside function (validators.py, line 24)* Alguém já precisou de restringir uma pasta com um tipo específico de arquivo? Códigos: validators.py from zope.interface import implements from zope.component import adapts from Products.Archetypes.interfaces import IObjectPostValidation from pox.video import videoMessageFactory as _ from pox.video.interfaces import IVideo # class name could be any one class ValidatePDFFile(object): Checks if file field has a real FLV file implements(IObjectPostValidation) adapts(IVideo) def validate_file(self, value): valida a extensão de um arquivo PDF field = self.getField('file') if field.getContentType(self) not in self.inlineMimetypePDF: return 'Tipo de arquivo não permitido. Apenas arquivos PDF são permitidos' # Returning None means no error return None configure.zcml subscriber provides=Products.Archetypes.interfaces.IObjectPostValidation factory=.validators.ValidatePDFFile / /configure E uma classe que chama-se video, mas deveria ser filePDF, (ignorar este detalhe :) class Video(file.ATFile): pox Video implements(IATFile,IVideo) meta_type = Video schema = VideoSchema title = atapi.ATFieldProperty('title') description = atapi.ATFieldProperty('description') inlineMimetypePDF= ('application/pdf') # -*- Your ATSchema to Python Property Bridges Here ... -*- atapi.registerType(Video, PROJECTNAME) -- -- Júlio Zinga Suzuki Lopes Analista de TI Tel: 83 8862-1530 / 9975-1646
Re: [zope-pt] Validando um arquivo PDF
Acho que ta rolando erro de sintaxe ai, olha essa linha: # Returning None means no error return None esse return está fora da função por isso está acontecendo o erro. -- Alexandre Marinho Analista de Tecnologia da Informação - NTI - UFAL http://alexandre.cuboestudioweb.com Maceió/AL Em 16 de junho de 2010 12:09, Julio Zinga Suzuki Lopes juliozi...@gmail.com escreveu: Saudações comunidade! Estou com a seguinte dúvida: Quero implementar um produto que só aceite UPLOAD de arquivos pdf's Estou querendo criar um validador com uma função para restringir. mas não pega nenhum tipo de arquivo. e ao tentar compilar, ou melhor, rodar o instence fg aparece o seguinte erro final * ZopeXMLConfigurationError: File /usr/local/Plone/zinstance/src/pox.video/pox/video/content/configure.zcml, line 20.2-22.5 SyntaxError: 'return' outside function (validators.py, line 24)* Alguém já precisou de restringir uma pasta com um tipo específico de arquivo? Códigos: validators.py from zope.interface import implements from zope.component import adapts from Products.Archetypes.interfaces import IObjectPostValidation from pox.video import videoMessageFactory as _ from pox.video.interfaces import IVideo # class name could be any one class ValidatePDFFile(object): Checks if file field has a real FLV file implements(IObjectPostValidation) adapts(IVideo) def validate_file(self, value): valida a extensão de um arquivo PDF field = self.getField('file') if field.getContentType(self) not in self.inlineMimetypePDF: return 'Tipo de arquivo não permitido. Apenas arquivos PDF são permitidos' # Returning None means no error return None configure.zcml subscriber provides=Products.Archetypes.interfaces.IObjectPostValidation factory=.validators.ValidatePDFFile / /configure E uma classe que chama-se video, mas deveria ser filePDF, (ignorar este detalhe :) class Video(file.ATFile): pox Video implements(IATFile,IVideo) meta_type = Video schema = VideoSchema title = atapi.ATFieldProperty('title') description = atapi.ATFieldProperty('description') inlineMimetypePDF= ('application/pdf') # -*- Your ATSchema to Python Property Bridges Here ... -*- atapi.registerType(Video, PROJECTNAME) -- -- Júlio Zinga Suzuki Lopes Analista de TI Tel: 83 8862-1530 / 9975-1646
Re: [zope-pt] Validando um arquivo PDF
Ok. Corrigi o return. Agora, parece que ele pede um _init_ !? Reclama de um _new_ Precisa fazer um def _init_ ? ou def _new_ ? Module Products.Archetypes.BaseObject, line 514, in validate Module zope.component._api, line 130, in subscribers Module zope.component.registry, line 290, in subscribers Module zope.interface.adapter, line 539, in subscribers TypeError: default __new__ takes no parameters *novo validators.py* *from zope.interface import implements from zope.component import adapts from Products.Archetypes.interfaces import IObjectPostValidation from pox.video import videoMessageFactory as _ from pox.video.interfaces import IVideo # class name could be any one class ValidatePDFFile(object): Checks if file field has a real FLV file implements(IObjectPostValidation) adapts(IVideo) def validate_file(self, context): valida a extensão de um arquivo PDF field = self.getField('file') if field.getContentType(self) not in self.inlineMimetypePDF: return 'Tipo de arquivo não permitido. Apenas arquivos PDF são permitidos' else: return None * 2010/6/16 Alexandre Marinho lyrale...@gmail.com Acho que ta rolando erro de sintaxe ai, olha essa linha: # Returning None means no error return None esse return está fora da função por isso está acontecendo o erro. -- Alexandre Marinho Analista de Tecnologia da Informação - NTI - UFAL http://alexandre.cuboestudioweb.com Maceió/AL Em 16 de junho de 2010 12:09, Julio Zinga Suzuki Lopes juliozi...@gmail.com escreveu: Saudações comunidade! Estou com a seguinte dúvida: Quero implementar um produto que só aceite UPLOAD de arquivos pdf's Estou querendo criar um validador com uma função para restringir. mas não pega nenhum tipo de arquivo. e ao tentar compilar, ou melhor, rodar o instence fg aparece o seguinte erro final * ZopeXMLConfigurationError: File /usr/local/Plone/zinstance/src/pox.video/pox/video/content/configure.zcml, line 20.2-22.5 SyntaxError: 'return' outside function (validators.py, line 24)* Alguém já precisou de restringir uma pasta com um tipo específico de arquivo? Códigos: validators.py from zope.interface import implements from zope.component import adapts from Products.Archetypes.interfaces import IObjectPostValidation from pox.video import videoMessageFactory as _ from pox.video.interfaces import IVideo # class name could be any one class ValidatePDFFile(object): Checks if file field has a real FLV file implements(IObjectPostValidation) adapts(IVideo) def validate_file(self, value): valida a extensão de um arquivo PDF field = self.getField('file') if field.getContentType(self) not in self.inlineMimetypePDF: return 'Tipo de arquivo não permitido. Apenas arquivos PDF são permitidos' # Returning None means no error return None configure.zcml subscriber provides=Products.Archetypes.interfaces.IObjectPostValidation factory=.validators.ValidatePDFFile / /configure E uma classe que chama-se video, mas deveria ser filePDF, (ignorar este detalhe :) class Video(file.ATFile): pox Video implements(IATFile,IVideo) meta_type = Video schema = VideoSchema title = atapi.ATFieldProperty('title') description = atapi.ATFieldProperty('description') inlineMimetypePDF= ('application/pdf') # -*- Your ATSchema to Python Property Bridges Here ... -*- atapi.registerType(Video, PROJECTNAME) -- -- Júlio Zinga Suzuki Lopes Analista de TI Tel: 83 8862-1530 / 9975-1646 -- -- Júlio Zinga Suzuki Lopes Analista de TI Tel: 83 8862-1530 / 9975-1646