def checkFile(self, context, path, name): import PIL.Image, os try: image = PIL.Image.open(open(path)) except IOError: from PPA.Template.Cook import quoteHTML return {}, {context.nameInForm: "Broken image in %s" % quoteHTML(name)} if self.action and (self.height and self.width): format = image.format transform = getattr(self, "_transform_%s" % self.action) image, error = transform(image) if image: from cStringIO import StringIO f = StringIO() image.save(f, format) open(path, "w").write(f.getvalue()) elif error: return {}, {context.nameInForm: error} return {context.name: self._File(tmpname=path, remotename=name)}, {}
def __get__(self, inst, cls): value = getattr(inst, '_elementAttributes', {}) return ' '.join( ['%s="%s"' % (k,quoteHTML(unicode(v))) for (k,v) in value.items()])