12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from path import path
- from PIL import Image
- from django.conf import settings
- from misago.users.avatars import cache
- from misago.users.avatars.paths import MEDIA_AVATARS
- def get_available_galleries():
- """
- Returns list of dicts containing 'name' and list of images
- Only jpgs, gifs and pngs are supported avatar images.
- Galleries are
- """
- galleries = []
- for directory in path(MEDIA_AVATARS).dirs():
- if directory[-8:] != '_default':
- gallery = {'name': directory.name, 'images': []}
- images = directory.files('*.gif')
- images += directory.files('*.jpg')
- images += directory.files('*.jpeg')
- images += directory.files('*.png')
- for image in images:
- gallery['images'].append(image[len(settings.MEDIA_ROOT):])
- if gallery['images']:
- galleries.append(gallery)
- return galleries
- def galleries_exist():
- return bool(get_available_galleries())
- def is_avatar_from_gallery(image_path):
- for gallery in get_available_galleries():
- if image_path in gallery['images']:
- return True
- else:
- return False
- def set_avatar(user, gallery_image_path):
- image = Image.open(settings.MEDIA_ROOT + gallery_image_path)
- cache.store_new_avatar(user, image)
- def set_random_avatar(user):
- pass
|