annotate gpp/antispam/models.py @ 265:1ba2c6bf6eb7

Closing #98. Animated GIFs were losing their transparency and animated properties when saved as avatars. Reworked the avatar save process to only run the avatar through PIL if it is too big. This preserves the original uploaded file if it is within the desired size settings. This may still mangle big animated gifs. If this becomes a problem, then maybe look into calling the PIL Image.resize() method directly. Moved the PIL image specific functions from bio.forms to a new module: core.image for better reusability in the future.
author Brian Neal <bgneal@gmail.com>
date Fri, 24 Sep 2010 02:12:09 +0000
parents 8c1832b9d815
children
rev   line source
bgneal@214 1 """Models for the antispam application."""
bgneal@214 2 from django.db import models
bgneal@214 3 from django.core.cache import cache
bgneal@214 4
bgneal@214 5 from antispam import SPAM_PHRASE_KEY
bgneal@214 6
bgneal@214 7
bgneal@214 8 class SpamPhrase(models.Model):
bgneal@214 9 """A SpamPhrase is a string that is checked for in user input. User input
bgneal@214 10 containing a SpamPhrase should be blocked and flagged.
bgneal@214 11 """
bgneal@214 12 phrase = models.CharField(max_length=64)
bgneal@214 13
bgneal@214 14 class Meta:
bgneal@214 15 ordering = ('phrase', )
bgneal@214 16
bgneal@214 17 def __unicode__(self):
bgneal@214 18 return self.phrase
bgneal@214 19
bgneal@214 20 def save(self, *args, **kwargs):
bgneal@214 21 cache.delete(SPAM_PHRASE_KEY)
bgneal@215 22 self.phrase = self.phrase.lower()
bgneal@214 23 super(SpamPhrase, self).save(*args, **kwargs)