|
@@ -1,25 +1,32 @@
|
|
|
+import os
|
|
|
+
|
|
|
+from path import path
|
|
|
from PIL import Image
|
|
|
|
|
|
+from django.conf import settings
|
|
|
from django.core.management.base import BaseCommand
|
|
|
|
|
|
-from misago.users.avatars import store
|
|
|
-from misago.users.avatars.paths import BLANK_AVATAR
|
|
|
+from misago.users.avatars.paths import AVATARS_STORE, BLANK_AVATAR
|
|
|
|
|
|
|
|
|
-class FakeDate(object):
|
|
|
- def strftime(self, format=''):
|
|
|
- return 'blank'
|
|
|
+class Command(BaseCommand):
|
|
|
+ help = 'Updates stored blank avatar.'
|
|
|
|
|
|
+ def handle(self, *args, **options):
|
|
|
+ avatars_dir = path(os.path.join(AVATARS_STORE, 'blank'))
|
|
|
|
|
|
-class FakeUser(object):
|
|
|
- pk = 'blank'
|
|
|
- id = 'blank'
|
|
|
- joined_on = FakeDate()
|
|
|
+ # Empty existing blank avatar
|
|
|
+ if avatars_dir.exists():
|
|
|
+ avatars_dir.rmtree()
|
|
|
+ avatars_dir.mkdir()
|
|
|
|
|
|
+ # Generate new images
|
|
|
+ image = Image.open(BLANK_AVATAR)
|
|
|
+ for size in sorted(settings.MISAGO_AVATARS_SIZES, reverse=True):
|
|
|
+ avatar_file = '%s.png' % size
|
|
|
+ avatar_file = path(os.path.join(avatars_dir, avatar_file))
|
|
|
|
|
|
-class Command(BaseCommand):
|
|
|
- help = 'Updates stored blank avatar.'
|
|
|
+ image = image.resize((size, size), Image.ANTIALIAS)
|
|
|
+ image.save(avatar_file, "PNG")
|
|
|
|
|
|
- def handle(self, *args, **options):
|
|
|
- store.store_new_avatar(FakeUser, Image.open(BLANK_AVATAR))
|
|
|
self.stdout.write('Blank avatar was updated.')
|