commit f99908fcdb0a00ef7f9a70d11d773edfb9405e2c
parent 61f21d7c8a8a9b9440f7807caed5298cd57ef81d
Author: parazyd <parazyd@dyne.org>
Date: Mon, 21 Jan 2019 15:39:38 +0100
Separate user deletion in its own function.
Diffstat:
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/diaspora.py b/diaspora.py
@@ -33,7 +33,7 @@ from utils import (get_story, makenav, randomstring, getcountryname,
get_multiple_stories, get_multiple_stories_filtered,
make_profile, find_user_by_id, find_user_by_email,
validate_user, get_multiple_users, get_messages,
- get_latest_messages, send_message)
+ get_latest_messages, send_message, delete_user)
app = Flask(__name__)
@@ -372,7 +372,7 @@ def users():
print(vals)
if request.args.get('delid'):
- sql_delete_row_where('id', request.args.get('delid'), table='users')
+ delete_user(request.args.get('delid'))
userlist = get_multiple_users('is_active', 1)
return render_template('users.html', users=userlist)
diff --git a/utils.py b/utils.py
@@ -21,13 +21,14 @@ import json
from os import makedirs, listdir
from os.path import join
from random import SystemRandom, shuffle
+from shutil import rmtree
from string import ascii_lowercase, digits
from time import gmtime, strftime, time
from bcrypt import gensalt, hashpw
from flask import Markup
-from db import sql_select_col_where, sql_insert
+from db import sql_select_col_where, sql_insert, sql_delete_row_where
COUNTRYMAP = {}
@@ -325,3 +326,9 @@ def send_message(id_to, msg, id_us):
with open(their_msgpath, 'w') as theirmsgs:
json.dump(theirdata, theirmsgs)
+
+
+def delete_user(user_id):
+ user = find_user_by_id(user_id)
+ rmtree(join('messages', user['email']), ignore_errors=True)
+ sql_delete_row_where('id', user_id, table='users')