From e8ffbd598ede1b696e5eb63cd31e376e8bc5a554 Mon Sep 17 00:00:00 2001 From: Darks Date: Sun, 22 Dec 2019 15:02:20 +0100 Subject: [PATCH] Modif mineure sur les avatars --- app/models/users.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/models/users.py b/app/models/users.py index 6281732..c427314 100644 --- a/app/models/users.py +++ b/app/models/users.py @@ -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."""