New avatar option mmng (Mistery Man Next Generation (NextGen). Related to #63

This commit is contained in:
Oliver Falk
2020-04-21 16:07:53 +02:00
parent 060a664d26
commit 2535cefa6c
3 changed files with 70 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ from ivatar.settings import AVATAR_MAX_SIZE, JPEG_QUALITY, DEFAULT_AVATAR_SIZE,
from ivatar.settings import CACHE_IMAGES_MAX_AGE
from . ivataraccount.models import ConfirmedEmail, ConfirmedOpenId
from . ivataraccount.models import pil_format, file_format
from . utils import mm_ng
URL_TIMEOUT = 5 # in seconds
@@ -246,6 +247,18 @@ class AvatarImageView(TemplateView):
response['Cache-Control'] = 'max-age=%i' % CACHE_IMAGES_MAX_AGE
return response
if str(default) == 'mmng':
mmngimg = mm_ng(hash=kwargs['digest'], size=size)
data = BytesIO()
mmngimg.save(data, 'PNG', quality=JPEG_QUALITY)
data.seek(0)
response = CachingHttpResponse(
uri,
data,
content_type='image/png')
response['Cache-Control'] = 'max-age=%i' % CACHE_IMAGES_MAX_AGE
return response
if str(default) == 'mm' or str(default) == 'mp':
# If mm is explicitly given, we need to catch that
static_img = path.join('static', 'img', 'mm', '%s%s' % (str(size), '.png'))