예제 #1
0
파일: Fields.py 프로젝트: SmartTeleMax/ppa
    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)}, {}
예제 #2
0
 def __get__(self, inst, cls):
     value = getattr(inst, '_elementAttributes', {})
     return ' '.join(
         ['%s="%s"' % (k,quoteHTML(unicode(v))) for (k,v) in value.items()])