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 > > >