comparison mysite/photologue/management/commands/plflush.py @ 1:0dcfcdf50c62

Initial import of Madeira project from the private repository.
author Brian Neal <bgneal@gmail.com>
date Mon, 06 Apr 2009 03:10:59 +0000
parents
children
comparison
equal deleted inserted replaced
0:df0370bfe3f0 1:0dcfcdf50c62
1 from django.core.management.base import BaseCommand, CommandError
2 from optparse import make_option
3 from photologue.models import PhotoSize, ImageModel
4
5 class Command(BaseCommand):
6 help = ('Clears the Photologue cache for the given sizes.')
7 args = '[sizes]'
8
9 requires_model_validation = True
10 can_import_settings = True
11
12 def handle(self, *args, **options):
13 return create_cache(args, options)
14
15 def create_cache(sizes, options):
16 """
17 Clears the cache for the given files
18 """
19 size_list = [size.strip(' ,') for size in sizes]
20
21 if len(size_list) < 1:
22 sizes = PhotoSize.objects.all()
23 else:
24 sizes = PhotoSize.objects.filter(name__in=size_list)
25
26 if not len(sizes):
27 raise CommandError('No photo sizes were found.')
28
29 print 'Flushing cache...'
30
31 for cls in ImageModel.__subclasses__():
32 for photosize in sizes:
33 print 'Flushing %s size images' % photosize.name
34 for obj in cls.objects.all():
35 obj.remove_size(photosize)