Modif mineure sur les avatars

This commit is contained in:
Darks 2019-12-22 15:02:20 +01:00
parent 98878bda7d
commit e8ffbd598e
Signed by: Darks
GPG Key ID: F61F10FA138E797C
1 changed files with 8 additions and 0 deletions

View File

@ -18,6 +18,7 @@ import werkzeug.security
import re
import math
import app
import os
class User(UserMixin, db.Model):
@ -198,15 +199,22 @@ class Member(User):
self.xp = data["xp"]
def set_avatar(self, avatar):
# Save old avatar filepath
old_avatar = V5Config.AVATARS_FOLDER + self.avatar
# Resize & convert image
size = 128, 128
im = Image.open(avatar)
im.thumbnail(size, Image.ANTIALIAS)
# Change avatar id
# TODO: verify concurrency behavior
current_id = db.session.query(SQLfunc.max(Member.avatar_id)).first()[0]
self.avatar_id = current_id + 1
db.session.merge(self)
db.session.commit()
# Save the new avatar
im.save(V5Config.AVATARS_FOLDER + self.avatar, 'PNG')
# If nothing has failed, remove old one
os.remove(old_avatar)
def get_public_data(self):
""" Returns the public information of the member."""