Mercurial > public > madeira
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) |